description |
---|
Author: [ jleopoldA ] |
CPU | OS | RAM | DISK |
---|---|---|---|
8 Core | Ubuntu 24.04.1 LTS | 32 GB | 7TB SSD |
{% hint style="info" %} Ronin has a size of 5.8TB as of 1/15/2025. {% endhint %}
{% hint style="info" %} Ronin requires the installation of Go. {% endhint %}
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 8545
sudo ufw allow 8546
sudo ufw allow 30303/tcp && sudo ufw allow 30303/udp
sudo ufw enable
sudo ufw status verbose
{% hint style="info" %} This step is necessary if GO is not installed. {% endhint %}
# This will return the latest version of GO
curl -s https://go.dev/VERSION?m=text
# Example response
go1.23.3
time 2024-11-06T18:46:45Z
# Downloading using the above example response
wget https://go.dev/dl/go1.23.3.linux-amd64.tar.gz
# Example command if the above version is different
wget https://go.dev/dl/VERSION.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.3.linux-amd64.tar.gz
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
go version
# Example response
go version go1.23.3 linux/amd64
cd /root
# The below command will create a directory called 'ronin'
# The path to it will be /root/ronin
git clone https://github.com/axieinfinity/ronin
cd /ronin/cmd/ronin
go build -o ronin
{% hint style="info" %} Ronin requires the initialization of its Genesis Block before being run. {% endhint %}
./ronin init --datadir /opt/ronin /root/ronin/genesis/mainnet.json
# Copy and paste the code below and run it within your terminal.
sudo echo "[Unit]
Description=Ronin Node
After=network.target
StartLimitIntervalSec=200
StartLimitBurst=5
[Service]
Type=simple
Restart=on-failure
RestartSec=5
TimeoutSec=900
User=root
Nice=0
LimitNOFILE=200000
WorkingDirectory=/root/ronin/
ExecStart=/root/ronin/cmd/ronin/ronin \
--gcmode archive --syncmode full \
--http --http.addr 0.0.0.0 --http.api eth,net,web3 --http.port 8545 \
--ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api eth,net,web3 \
--datadir /opt/ronin \
--port 30303 --networkid 2020 \
--discovery.dns enrtree://AIGOFYDZH6BGVVALVJLRPHSOYJ434MPFVVQFXJDXHW5ZYORPTGKUI@nodes.roninchain.com
Restart=on-failure
LimitNOFILE=1000000
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target" > /etc/systemd/system/ronin.service
sudo systemctl daemon-reload # Refresh after systemd configuration changes
sudo systemctl enable ronin.service # Enable ronin.service at start up
sudo systemctl start ronin.service # Starts ronin.service
sudo systemctl stop ronin.service # Stops ronin.service
sudo systemctl restart ronin.service # Restarts ronin.service
journactl -fu ronin.service -xe
curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:8545
# Example response
{"jsonrpc":"2.0","id":1,"result":"0x40e2d5"}
{% embed url="https://github.com/axieinfinity/ronin" %}
{% embed url="https://docs.roninchain.com/validators/setup/overview" %}