JavaScript client and CLI for Swarm.
Node.js v10+ is required to use the Node.js APIs and run the CLI.
npm install @erebos/swarm-browser # browser-only
npm install @erebos/swarm-node # node-only
npm install @erebos/swarm # universal
npm install -g @erebos/cli
βοΈ 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 |
yarn install
yarn start
In one terminal window run:
./start_swarm_node.sh
And in the second one run:
yarn test:all
MIT.
See LICENSE file.