← Back to Substrate Documentation

Orbinum Network Installation

TESTNET • Substrate

Prerequisites

Install Docker and the Compose plugin. Log out and back in afterwards for the group change to take effect.

curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER && sudo apt-get install -y docker-compose-plugin

Verify Docker is ready

docker --version
docker compose version

Authenticate with GHCR

The node image is private. Log in to GitHub Container Registry with a personal access token that has read:packages scope:

echo <GITHUB_TOKEN> | docker login ghcr.io -u <github_user> --password-stdin

Clone the Deploy Repository

The compose files, chain spec and .env templates live in the node-deploy repository:

git clone https://github.com/orbinum/node-deploy.git
cd node-deploy/testnet/rpc
Roles: use testnet/rpc for a public RPC/bootnode, or testnet/validator to run a validator. Each role runs the same image with different flags.

Pull the Image

Download the pre-built node image — no build step, no circuit artifact download:

docker compose pull

This pulls ghcr.io/orbinum/node:testnet-latest.

Configure & Start

Copy the example environment file, set your node name and (for validators) telemetry level, then bring the stack up:

cp .env.example .env
# edit .env — set RPC_NAME / VALIDATOR_NAME and TELEMETRY_URL
docker compose up -d
Note: TCP 30333 must be reachable for the node to join the network. Editing the container command line requires a recreate, not a restart: docker compose up -d --force-recreate orbinum-rpc-node

Verify the Node

Run a throwaway node in development mode to confirm the image works (you should see Block #1, Block #2 …):

docker run --rm ghcr.io/orbinum/node:testnet-latest --dev --tmp

Check the version:

docker run --rm ghcr.io/orbinum/node:testnet-latest --version

Explorer

View network activity on the block explorer:

https://explorer.testnet.orbinum.network

Website

https://orbinum.network

Delete Node

cd node-deploy/testnet/rpc
docker compose down -v

Docker Management

Pull latest image & restart

cd node-deploy/testnet/rpc
docker compose pull && docker compose up -d

Recreate after editing .env / compose

docker compose up -d --force-recreate orbinum-rpc-node

Inspect the running command line

docker inspect orbinum-rpc-node --format '{{join .Config.Cmd " "}}'

View logs

docker compose logs -f --tail 50 orbinum-rpc-node

Database size (inside container)

docker exec orbinum-rpc-node du -sh /data/chains/

Resource usage

docker stats orbinum-rpc-node --no-stream

RPC Endpoints

Check RPC health

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"system_health","params":[]}' \
  https://rpc-1.testnet.orbinum.io

Get node version

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"system_version","params":[]}' \
  https://rpc-1.testnet.orbinum.io

Get chain name

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"system_name","params":[]}' \
  https://rpc-1.testnet.orbinum.io

Get block number

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"chain_getBlock","params":[]}' \
  https://rpc-1.testnet.orbinum.io

Get peers count

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"system_peers","params":[]}' \
  https://rpc-1.testnet.orbinum.io

Get runtime version

curl -s -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"state_getRuntimeVersion","params":[]}' \
  https://rpc-1.testnet.orbinum.io