How To Deploy A Ronin Node

How To Deploy A Ronin Node
How to Deploy a Node on Axie Infinity

Ronin is a blockchain optimized for Axie Infinity, the famous name in crypto gaming. Our guide will help you set up and run a Ronin Node using Docker.

What is a Ronin Node?

A Ronin node is a computer that runs software that helps to maintain the Ronin blockchain. There are three main types of Ronin nodes:

  • Non-validator nodes do not participate in the consensus process, but they connect to the network to synchronize the ledger's state and observe the network's status. They can act as a gateway for decentralized applications, allowing them to interact with the Ronin blockchain.
  • Validator nodes are responsible for verifying and approving transactions submitted by users and other clients on the blockchain. They are randomly selected to validate the data within a block, and upon successful validation, they generate the subsequent block and earn RON tokens as a reward.
  • Archive nodes retain all historical data right from the genesis block. They store a significant amount of data, measured in terabytes, as they maintain a complete archive of the blockchain's historical states. Archive nodes are particularly useful for services like block explorers, wallet vendors, and chain analytics, as they allow fast queries and analysis of historical states.

The different types of Ronin nodes work together to form the backbone of the network, enabling consensus, data synchronization, and decentralized functionality for users and applications within the ecosystem.

Run a Node on Axie Infinity

Ronin Node Requirements

Validator node

Hardware:

  • CPU: 8 cores or more
  • RAM: 32 GB or more
  • Storage: 500 GB or more

Software:

  • Operating system: Ubuntu 18.04 or newer
  • Ronin Node software

Internet connection:

  • Bandwidth: 10 Mbps or higher
  • Stability: Stable internet connection is required

Non-validator node

Hardware:

  • CPU: 4 cores or more
  • RAM: 8 GB or more
  • Storage: 100 GB or more

Software:

  • Operating system: Ubuntu 16.04 or newer
  • Ronin Node software

Internet connection:

  • Bandwidth: 1 Mbps or higher
  • Stability: Stable internet connection is required

Archive node

Hardware:

  • CPU: 8 cores or more
  • RAM: 64 GB or more
  • Storage: 1 TB or more

Software:

  • Operating system: Ubuntu 18.04 or newer
  • Ronin Node software

Internet connection:

  • Bandwidth: 10 Mbps or higher
  • Stability: Stable internet connection is required

Bridge operator node

Hardware:

  • CPU: 8 cores or more
  • RAM: 32 GB or more
  • Storage: 500 GB or more

Software:

  • Operating system: Ubuntu 18.04 or newer
  • Ronin Node software

Internet connection:

  • Bandwidth: 10 Mbps or higher
  • Stability: Stable internet connection is required

Please note that these are just the minimum requirements. You may need more resources depending on the specific node you are setting up. You can find more information about the requirements for each type of node on the Ronin Network Docs.

How To Deploy A Ronin Node with Docker

Our guide will follow instructions on running a non-validator node on Ronin Network. To deploy a validator node, bridge operator node, or archive node, you can check out our articles in the Ronin section.

Step 1: Set Up Directories

  • Create a main directory for your Ronin node:mkdir ~/ronin
  • Navigate to the newly created directory: cd ~/ronin
  • Create directories for chain data: mkdir -p chaindata/data/ronin

Step 2: Create Docker Compose File

  • Create a file named docker-compose.yml: vim docker-compose.yml
  • Paste the following content into docker-compose.yml:
version: "3"services:  node:    image: ${NODE_IMAGE}    stop_grace_period: 5m    stop_signal: SIGINT    hostname: node    container_name: node    ports:      - 127.0.0.1:8545:8545      - 127.0.0.1:8546:8546      - 30303:30303      - 30303:30303/udp      - 6060:6060    volumes:      - ~/ronin/chaindata:/ronin    environment:      - SYNC_MODE=full      - PASSWORD=${PASSWORD}      - BOOTNODES=${BOOTNODES}      - NETWORK_ID=${NETWORK_ID}      - RONIN_PARAMS=${RONIN_PARAMS}      - VERBOSITY=${VERBOSITY}      - MINE=${MINE}      - GASPRICE=${GASPRICE}      - ETHSTATS_ENDPOINT=${INSTANCE_NAME}:${CHAIN_STATS_WS_SECRET}@${CHAIN_STATS_WS_SERVER}:443

Step 3: Configure Environment Variables

  • Create an .env file to store configuration parameters: vim .env
  • Paste the following content into .env, replacing placeholders with your node's information:
# The name of your node that you want displayed on https://stats.roninchain.com/INSTANCE_NAME=INSTANCE_NAME# The latest version of the node's image as listed in https://docs.roninchain.com/docs/node-operators/setup/latestNODE_IMAGE=NODE_IMAGE# The password to encrypt the node's keyfilePASSWORD=PASSWORDMINE=falseBOOTNODES=enode://cfa5f00c55eba79f359c9d95f5c0b2bb8e173867ffbb6e212c6799a52918502519e56650970e34caf1cd17418d4da46c3243588578886c3b4f8c42d1934bf108@104.198.242.88:30303,enode://f500391c41906a1dae249df084a3d1659fe602db671730b2778316114a5f7df44a0c6864a8dfffdc380fc81c6965dd911338e0e2591eb78a506857015d166250@34.135.18.26:30303,enode://fc7b8ceafe16e6f79ab2da3e73d0a3163d0c28efe0778863102f8f27758986fe28c1540a9a0bbdff29ab93ad1c5803462efe6c98165bbb404d9d099a55f1d2c9@130.211.208.201:30303NETWORK_ID=2020GASPRICE=20000000000VERBOSITY=3CHAIN_STATS_WS_SECRET=xQj2MZPaN6CHAIN_STATS_WS_SERVER=stats.roninchain.comRONIN_PARAMS=--http.api eth,net,web3,consortium --txpool.pricelimit 20000000000 --txpool.nolocals
  • (Optional) Download the snapshot:
cd ~/ronin/chaindata/data/ronin/curl <chaindata latest check here https://github.com/axieinfinity/ronin-snapshot> -o chaindata.tar && tar -xvf chaindata.tarmv <uncompressed data> chaindata

Step 4: Launch the Node

Start the Ronin node by executing the following command:

cd ~/ronin && docker-compose up -d

Step 5: Review Logs

Check the node's logs to monitor its progress:

docker logs node -f --tail 100

Step 6: Check Node Status

After a few minutes, visit the Ronin Network Status page. If the status is green, your node is connected and up to date with the network.

Congratulations! You've successfully installed and launched a Ronin Node using Docker. Your node is contributing to the Ronin blockchain used by Axie Infinity.

Read more