JavaScript client and CLI for Swarm
Erebos

JavaScript client and CLI for Swarm.
Installation
Node.js v10+ is required to use the Node.js APIs and run the CLI.
Client library
npm install @erebos/swarm-browser # browser-only
npm install @erebos/swarm-node # node-only
npm install @erebos/swarm # universal
CLI
npm install -g @erebos/cli
Documentation
Packages
Platform symbols
โ๏ธ Electron | โ๏ธ Node | ๐ฑ React-Native | ๐ Web browsers
| Name | Version | Platform | Description | | ---- | ------- | -------- | ----------- | | Clients | @erebos/swarm | | โ๏ธ โ๏ธ ๐ | Universal Erebos library for Swarm |
@erebos/swarm-browser | | ๐ | Browser-only Erebos library for Swarm |
@erebos/swarm-node | | โ๏ธ โ๏ธ | Electron and Node Erebos library for Swarm | CLI |
@erebos/cli | | | Individual Swarm APIs |
@erebos/bzz | | โ๏ธ โ๏ธ ๐ฑ ๐ | Core Swarm (BZZ) APIs |
@erebos/bzz-browser | | ๐ | Browser-only Swarm (BZZ) APIs |
@erebos/bzz-node | | โ๏ธ โ๏ธ | Electron and Node Swarm (BZZ) APIs |
@erebos/bzz-react-native | | ๐ฑ | Experimental React Native Swarm (BZZ) APIs |
@erebos/pss | | โ๏ธ โ๏ธ ๐ฑ ๐ | Postal Services over Swarm (PSS) APIs | Additional Swarm APIs |
@erebos/bzz-feed | | โ๏ธ โ๏ธ ๐ฑ ๐ | Swarm feeds interactions |
@erebos/bzz-fs | | โ๏ธ โ๏ธ | File system interactions | Data structures |
@erebos/feed-list | | โ๏ธ โ๏ธ ๐ฑ ๐ | List APIs using raw Swarm feeds |
@erebos/doc-sync | | โ๏ธ โ๏ธ ๐ฑ ๐ | JSON documents synchronization using CRDTs |
@erebos/timeline | | โ๏ธ โ๏ธ ๐ฑ ๐ | Feed-based Timeline APIs | Ethereum and Swarm utilities |
@erebos/hex | | โ๏ธ โ๏ธ ๐ฑ ๐ | Hexadecimal values encoding and decoding |
@erebos/keccak256 | | โ๏ธ โ๏ธ ๐ | Keccak256 hashing |
@erebos/secp256k1 | | โ๏ธ โ๏ธ ๐ | ECDSA key creation and signing using the SECP256k1 curve |
@erebos/wallet-hd | | โ๏ธ โ๏ธ | Hierarchical Deterministic wallet | RPC utilities |
@erebos/rpc-error | | โ๏ธ โ๏ธ ๐ฑ ๐ | RPC error class and factories |
@erebos/rpc-handler | | โ๏ธ โ๏ธ | RPC requests handling helpers |
@erebos/rpc-request | | โ๏ธ โ๏ธ | Stateless RPC client class |
@erebos/rpc-stream | | โ๏ธ โ๏ธ | Statefull RPC client class |
@erebos/rpc-http-browser | | ๐ | RPC client factory over HTTP for browsers |
@erebos/rpc-http-node | | โ๏ธ | RPC client factory over HTTP for Node |
@erebos/rpc-ws-browser | | ๐ | RPC client factory over WebSocket for browsers |
@erebos/rpc-ws-node | | โ๏ธ | RPC client factory over WebSocket for Node |
@erebos/rpc-ipc | | โ๏ธ | RPC client factory over IPC |
@erebos/rpc-browser | | ๐ | RPC client factory for browsers |
@erebos/rpc-electron | | โ๏ธ | RPC client factory for Electron |
@erebos/rpc-node | | โ๏ธ | RPC client factory for Node | Transports |
@erebos/transport-http-browser | | ๐ | HTTP transport for browsers |
@erebos/transport-http-node | | โ๏ธ | HTTP transport for Node |
@erebos/transport-ws-browser | | ๐ | WebSocket transport for browsers |
@erebos/transport-ws-node | | โ๏ธ | WebSocket transport for Node |
@erebos/transport-electron | | โ๏ธ | IPC transport for Electron |
@erebos/transport-ipc | | โ๏ธ | IPC transport for Node | Base classes |
@erebos/client-base | | โ๏ธ โ๏ธ ๐ฑ ๐ | Shared logic for Client APIs |
@erebos/rpc-base | | โ๏ธ โ๏ธ ๐ฑ ๐ | Shared logic for RPC clients
Development
Prerequisites
Setup
yarn install
yarn start
Running tests
In one terminal window run:
./startswarmnode.sh
And in the second one run:
yarn test:all
License
MIT.\ See LICENSE file.