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.