Skip to content

MainframeOS/erebos

Repository files navigation

Erebos Build Status Gitter Last release

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

Packages

Platform symbols

βš›οΈ Electron | βš™οΈ Node | πŸ“± React-Native | 🌐 Web browsers

Name Version Platform Description
Clients
@erebos/swarm npm version βš›οΈ βš™οΈ 🌐 Universal Erebos library for Swarm
@erebos/swarm-browser npm version 🌐 Browser-only Erebos library for Swarm
@erebos/swarm-node npm version βš›οΈ βš™οΈ Electron and Node Erebos library for Swarm
CLI
@erebos/cli npm version
Individual Swarm APIs
@erebos/bzz npm version βš›οΈ βš™οΈ πŸ“± 🌐 Core Swarm (BZZ) APIs
@erebos/bzz-browser npm version 🌐 Browser-only Swarm (BZZ) APIs
@erebos/bzz-node npm version βš›οΈ βš™οΈ Electron and Node Swarm (BZZ) APIs
@erebos/bzz-react-native npm version πŸ“± Experimental React Native Swarm (BZZ) APIs
@erebos/pss npm version βš›οΈ βš™οΈ πŸ“± 🌐 Postal Services over Swarm (PSS) APIs
Additional Swarm APIs
@erebos/bzz-feed npm version βš›οΈ βš™οΈ πŸ“± 🌐 Swarm feeds interactions
@erebos/bzz-fs npm version βš›οΈ βš™οΈ File system interactions
Data structures
@erebos/feed-list npm version βš›οΈ βš™οΈ πŸ“± 🌐 List APIs using raw Swarm feeds
@erebos/doc-sync npm version βš›οΈ βš™οΈ πŸ“± 🌐 JSON documents synchronization using CRDTs
@erebos/timeline npm version βš›οΈ βš™οΈ πŸ“± 🌐 Feed-based Timeline APIs
Ethereum and Swarm utilities
@erebos/hex npm version βš›οΈ βš™οΈ πŸ“± 🌐 Hexadecimal values encoding and decoding
@erebos/keccak256 npm version βš›οΈ βš™οΈ 🌐 Keccak256 hashing
@erebos/secp256k1 npm version βš›οΈ βš™οΈ 🌐 ECDSA key creation and signing using the SECP256k1 curve
@erebos/wallet-hd npm version βš›οΈ βš™οΈ Hierarchical Deterministic wallet
RPC utilities
@erebos/rpc-error npm version βš›οΈ βš™οΈ πŸ“± 🌐 RPC error class and factories
@erebos/rpc-handler npm version βš›οΈ βš™οΈ RPC requests handling helpers
@erebos/rpc-request npm version βš›οΈ βš™οΈ Stateless RPC client class
@erebos/rpc-stream npm version βš›οΈ βš™οΈ Statefull RPC client class
@erebos/rpc-http-browser npm version 🌐 RPC client factory over HTTP for browsers
@erebos/rpc-http-node npm version βš™οΈ RPC client factory over HTTP for Node
@erebos/rpc-ws-browser npm version 🌐 RPC client factory over WebSocket for browsers
@erebos/rpc-ws-node npm version βš™οΈ RPC client factory over WebSocket for Node
@erebos/rpc-ipc npm version βš™οΈ RPC client factory over IPC
@erebos/rpc-browser npm version 🌐 RPC client factory for browsers
@erebos/rpc-electron npm version βš›οΈ RPC client factory for Electron
@erebos/rpc-node npm version βš™οΈ RPC client factory for Node
Transports
@erebos/transport-http-browser npm version 🌐 HTTP transport for browsers
@erebos/transport-http-node npm version βš™οΈ HTTP transport for Node
@erebos/transport-ws-browser npm version 🌐 WebSocket transport for browsers
@erebos/transport-ws-node npm version βš™οΈ WebSocket transport for Node
@erebos/transport-electron npm version βš›οΈ IPC transport for Electron
@erebos/transport-ipc npm version βš™οΈ IPC transport for Node
Base classes
@erebos/client-base npm version βš›οΈ βš™οΈ πŸ“± 🌐 Shared logic for Client APIs
@erebos/rpc-base npm version βš›οΈ βš™οΈ πŸ“± 🌐 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.