Development Note: It is still a WIP.
An archive node stores the history of past blocks. Most of times, an archive node is used as RPC endpoint. RPC plays a vital role on our network: it connects users and dApps to the blockchain through WebSocket and HTTP endpoints. Here is a public RPC endpoint for Continuum RPC Node
wss://continuum-rpc-1.metaverse.network/wss
DApp projects need to run their own RPC node as archive to the retrieve necessary blockchain data and not to rely on public infrastructure. Public endpoints respond slower because of the large amount of users connected and are rate limited.
- Storage space will increase as the network grows.
- Archive nodes may require a larger server, depending on the amount and frequency of data requested by a dApp.
Component | Requirement |
---|---|
System | Ubuntu 20.04 |
CPU | 8 cores |
Memory | 16 GB |
Hard Disk | 500 GB SSD (NVMe preferable) |
The Continuum node runs in parachain configuration, meaning they will listen at different ports by default for both the parachain and the embedded relay chain.
Description | Parachain Port | Relaychain Port | Custom Port Flag |
---|---|---|---|
P2P | 30333 | 30334 | --port |
RPC | 9944 | 9945 | --rpc-port |
Prometheus | 9615 | 9616 | --prometheus-port |
For all types of nodes, ports 30333
and 30334
need to be opened for incoming traffic at the Firewall.
Collator nodes should not expose WS and RPC ports to the public.
There are 2 different ways to run an Continuum node:
Using Binary - run the node from binary file and set it up as systemd service
Using Docker - run the node within a Docker container
Window users: please use this tutorial to setup your build environment
Linux-based machine
Clone MNet Blockchain code
Go to BitCountry team repo, clone the repo from correct commit hash.
# clone the code locally
git clone https://github.com/bit-country/Metaverse-Network.git
# change directory
cd Metaverse-Network
# select correct `continuum-release-0.0.2` branch
git checkout continuum-release-0.0.2
**Install Make
sudo apt-get install build-essential
Install Rust
curl https://sh.rustup.rs -sSf | sh
Build environment
make init
``1
After initializing you can then start building by using the cargo command:
```sh
cargo build --release --features=with-continuum-runtime
In case your build fails, please use this command first:
sudo apt install cmake git clang libclang-dev build-essential
Once the build has finished you will have the metaverse-node binary available in the target/release folder. You can start a node for Continuum Chain from the root of the directory like so:
./target/release/metaverse-node --chain continuum --rpc-methods=unsafe --rpc-cors=all --ws-external --rpc-external --ws-max-connections=100000 --name continuum-rpc-1 --bootnodes /ip4/34.126.180.57/tcp/30333/p2p/12D3KooWRDYGTk7gyz54qLDi8dcJTjEaPe6qRuvY8wankNyi1zKq --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' -- --execution wasm --chain polkadot
We publish the latest version to the Docker Hub that can be pulled and ran locally to connect to the network. In order to do this first make sure that you have Docker installed locally. How to install and run Docker
docker pull bitcountry/continuum-collator-node:b2d0ea7
You can test if the docker image is running by using the following command, but the node id and the chain data will be deleted after you shut down the docker container:
docker run bitcountry/continuum-collator-node:latest --chain continuum
Now, it's time to set up your node to connect to Continuum Bootnode, you need to choose which folder you would like to store your chain data. Ensure the folder exists and you have write permission for the folder.
Assuming the example path you want to use locally is path/to/continuumDb/continuum-node, the command would be:
docker run --network=host -v /continuumDb/continuum-node:/continuum-db bitcountry/continuum-collator-node:latest -d /continuum-db --chain continuum --bootnodes /ip4/34.126.180.57/tcp/30333/p2p/12D3KooWRDYGTk7gyz54qLDi8dcJTjEaPe6qRuvY8wankNyi1zKq --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' -- --execution wasm --chain polkadot