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
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:
./start_swarm_node.sh
And in the second one run:
yarn test:all
License
MIT.
See LICENSE file.