#chord #dht #web3 #wasm

bin+lib rings-node

Rings is a structured peer-to-peer network implementation using WebRTC, Chord algorithm, and full WebAssembly (WASM) support

14 unstable releases (4 breaking)

0.7.0 May 1, 2024
0.5.1 Jan 2, 2024
0.3.0 Sep 21, 2023
0.2.6 Jun 29, 2023
0.2.0 Jul 26, 2022

#586 in Network programming

Download history 45/week @ 2024-07-27 11/week @ 2024-09-21 1/week @ 2024-09-28

805 downloads per month

GPL-3.0 license

670KB
11K SLoC

Rings Network

Rings Node (The node service of Rings Network)

rings-node cargo docs GitHub

Rings is a structured peer-to-peer network implementation using WebRTC, Chord algorithm, and full WebAssembly (WASM) support.

For more details you can check our Rings Whitepaper.

You can also visit Rings Network's homepage to get more project info.

And you can get more document here.

Installation

You can install rings-node either from Cargo or from source.

from cargo

To install rings-node from Cargo, run the following command:

cargo install rings-node

from source

To install rings-node from source, follow these steps:

git clone git@github.com:RingsNetwork/rings-node.git
cd ./rings-node
cargo install --path .

Build for WebAssembly

To build Rings Network for WebAssembly, run the following commands:

cargo build --release --target wasm32-unknown-unknown --no-default-features --features browser
wasm-bindgen --out-dir pkg --target web ./target/wasm32-unknown-unknown/release/rings_node.wasm

Or build with wasm-pack

wasm-pack build --scope ringsnetwork -t web --no-default-features --features browser --features console_error_panic_hook

Usage

rings <command> [options]

Commands

  • help: displays the usage information.
  • init: creates a default configuration file named "config.toml" in the current directory. This file can be edited to customize the behavior of the rings-node daemon.
  • run: runs the rings-node daemon. This command starts the daemon process, which will validate transactions, maintain the blockchain, and participate in consensus to earn rewards. By default, the daemon will use the "config.toml" file in the current directory for configuration. Use the "-c" or "--config" option to specify a custom configuration file.

Options

  • -c, --config <FILE>: specifies a custom configuration file to use instead of the default "config.toml". The configuration file is used to specify the network configuration, account settings, and other parameters that control the behavior of the rings-node daemon.
  • -h, --help: displays the usage information.
  • -V, --version: displays the version information for rings-node.

Dependencies

~11–34MB
~536K SLoC