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.