⚙️ Installation

🛠️ Hardware Requirements

Node TypeCPURAMStorage

Full (Minimum)

4v CPU

6 GB

40 GB SSD

Full (Recommended)

4v CPU

8 GB

40 GB SSD

Additional requirements

📝 Manual installation

1️⃣ Installation packeges and dependencies

# Install dependencies for building from source
sudo apt update && sudo apt-get update
sudo apt install ufw jq git ccze vim nano curl ufw npm -y 

# Open ports
sudo ufw allow ssh
sudo ufw allow https
sudo ufw allow http
sudo ufw allow 8012
sudo ufw allow 9012
sudo ufw reload

# Install Docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1.1 To make sure that you installed Docker Engine correctly, use the command

sudo docker run hello-world

2️⃣ Install node

2.1 Download the PION docker-compose.yml

curl -o docker-compose.yml https://raw.githubusercontent.com/muon-protocol/muon-node-js/pion/docker-compose-pull.yml

2.2 Pull Images

sudo docker compose pull

If an error occurs, you can add "-" to the command

sudo docker-compose pull

2.3 Run node

sudo docker compose up -d

If an error occurs, you can add "-" to the command

sudo docker-compose up -d

2.3 Wait 3-4 minutes and run the check command

curl http://localhost:8012/status | jq

The result should look like this and means your node is running properly (It is not added to the network yet): { "staker": "0x0F3E00746947adcFAFf2d10B8b87a7bb54C0FD18", "address": "0xc0C0Be58D4256300F34f2EBa27f1890452667872", "peerId": "QmYXKnp6BWMAFWQZFoj6cDabZQrUPKH8SWsVuBEp2yqavN", "networkingPort": "9012", "node": { "addedToNetwork": true, ...... #true - all right #false - you need to wait or something is wrong

You need this address and peerID later when you add the node to the network.

But if you see the message curl (7) failed connect to localhost:8012 connection refused,

refer to this FAQ

2.4 Go to the PION dashboard and connect with the wallet that holds the bonPION

http://app.muon.net/pion/getting-started - Click on “Setup Node”

Stake your bonPION to your node

Enter your “Node Address” and “Peer ID” that you received from running curl http://localhost:8012/status , then click “Approve” and approve the transaction in your wallet (this will require mainnet BNB for gas).

Wait for the transaction to go through, the “Approve” button will change to “Add Node”. Click it and sign another transaction (which will cost more gas).

Then you will be taken to a new page where you must wait for a few minutes while your dashboard is being prepared.

When you see this dashboard page, your node has been added to the network!

2.5 Uniqueness Verification

You can’t earn any rewards until you pass uniqueness verification. Different node tiers require different levels of verification.

Click on “Go to verification center” then select one of the options:

Go back to the main dashboard page and click “Submit tier Update”. You will have to sign another transaction with your wallet and pay gas.

Once the transaction is complete, the dashboard will show that you are verified for your node tier, and your bonPION will also be added to your “Active Node Power”. You are now earning rewards!

3️⃣ Back-up your node

3.1 Return to your terminal.

Run this command to do the back-up:

cd
sudo docker exec -it muon-node ./node_modules/.bin/ts-node ./src/cmd/index.ts keys backup > backup.json

This command creates a file named backup.json

3.2 View the contents of backup.json

cat backup.json

The result will look like this:

{"SIGN_WALLET_ADDRESS":"0xBBeb...751A","SIGN_WALLET_PRIVATE_KEY":"250c...b15e","PEER_ID":"QmQh...Uw","PEER_PUBLIC_KEY":"CBA...BAAE=","PEER_PRIVATE_KEY":"CAA...RWVA=="}

These contents should be copied and kept somewhere safe, if you lose them you could lose access to your node and ny funds stored on it — AND DON’T SHOW THEM TO ANYONE!

3.3 OPTIONAL: Discord Alert Bot

You can configure the official Discord bot to notify you if your node is down by following the official guide from the project: Guide

Last updated