← Back to Substrate Documentation

Matterchain Installation

MAINNET • Substrate

Prerequisites

Install Dependencies

sudo apt update && sudo apt upgrade -y && sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y

Get the Node

Download & Extract

cd $HOME
curl -LO https://matternoderelease.blob.core.windows.net/releases/matter-node-v1.20.2-X64-Linux.tar.gz
tar -xzf matter-node-v1.20.2-X64-Linux.tar.gz
cd matter-node-v1.20.2-X64-Linux

Pull Docker Image

docker pull ghcr.io/openmatter-network/matter-node:latest

Start the Node

Start with RPC exposed

./matter-node \
  --chain ./mainnet-spec.json \
  --base-path /var/lib/matter-node \
  --name "my-rpc-node" \
  --port 30333 \
  --rpc-external \
  --rpc-cors all \
  --log info

Start with Docker

docker run -d \
  --name matterchain-node \
  -v $HOME/matterchain-data:/data \
  -p 30333:30333 \
  -p 9944:9944 \
  ghcr.io/openmatter-network/matter-node:latest \
  --chain ./mainnet-spec.json \
  --base-path /data \
  --name "my-rpc-node" \
  --port 30333 \
  --rpc-external \
  --rpc-cors all \
  --log info
Note: Port 30333 is the peer-to-peer port. Port 9944 is the RPC port. Use --rpc-external (not --unsafe-rpc-external) for public nodes.

HTTPS Reverse Proxy (Optional)

Serve a public endpoint over TLS with the bundled proxy helper:

sudo ./setup-rpc-proxy.sh \
  --domain rpc.yourdomain.tld \
  --email you@yourdomain.tld \
  --rpc-port 9944

Explorer

View network activity on the block explorer:

https://explorer.matterscan.io/

Website

https://openmatter.network/

Delete Node

sudo systemctl stop matterchain-node
sudo systemctl disable matterchain-node
sudo rm /etc/systemd/system/matterchain-node.service
sudo rm -rf /var/lib/matter-node
sudo rm -rf $HOME/matter-node*

Service Management

Check logs

sudo journalctl -u matterchain-node -f

Restart node

sudo systemctl restart matterchain-node

Stop node

sudo systemctl stop matterchain-node

Start node

sudo systemctl start matterchain-node

Check node status

sudo systemctl status matterchain-node

Recent logs

sudo journalctl -u matterchain-node -n 50 --no-pager

Docker Management

Check Docker container

docker ps -a | grep matterchain-node

View Docker logs

docker logs -f matterchain-node

Restart Docker container

docker restart matterchain-node

Stop Docker container

docker stop matterchain-node

Start Docker container

docker start matterchain-node

View container resource usage

docker stats matterchain-node

RPC Endpoints

Check RPC health

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

Get node version

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

Get chain name

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

Get block number

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

Get peers count

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

Get runtime version

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