An OpenDHT network can be joined by knowing about any node already
connected to the network. This node will then share its knowledge about
other nodes on the network.
Ring clients use a persistent node cache to reconnect to the network
after a first session. A configurable, known, stable "bootstrap" node is
used for the first connection or if cached nodes don't answer.
Ring clients currently use bootstrap.ring.cx:4222 as the default
(configurable) bootstrap node and network ID 0 (the default, public
Contribute to the OpenDHT network
Every Ring account runs an OpenDHT node, contributing to the network and
allowing Ring to scale.
Ring users can have full independence by running their own stable
OpenDHT node and configure it as a bootstrap node in Ring, while helping
to improve stability, robustness and resilience for every user of the
public OpenDHT network.
A standalone node can be run using the dhtnode
included with OpenDHT. dhtnode doesn't persist any data and has a
default in-memory storage limit of 8 MiB.
Stable community-run DHT nodes will be added to the default bootstrap
list at the request of their owner, as more bootstrap nodes means a more
resilient, independent network.
The RingNS blockchain
The RingNS blockchain is experimental and its architecture is expected
Ring clients don't run blockchain nodes themselves but rather
communicate with a RingNS server using HTTP for name registration and
query, with a REST API. This is because the resources needed to run a
blockchain node are too high for most end-users.
The nameserver can be configured by-account in Ring, allowing to connect
Ring clients to various more or less centralized user directories.
Contribute to the RingNS blockchain
The default Ring name service is ns.ring.cx, provided by Savoir-faire
Linux, connected to an Ethereum blockchain node; the goal being to give
everyone the possibility (if they which so) to run their own blockchain
node and HTTP service, mine some Ether, and use it to pay the
transaction fee needed to register their username in Ring.
Code of the Ethereum contract, the blockchain genesis file, and the
NodeJS module (HTTP server) can be found here :