Prerequisites
Similar with any other service, prerequisites are very important!
- You will need to make sure that you get a server with at least 4GB of RAM
- Strong internet connection
- Solid-state drive with sufficient disk space
With the current block cadence of 5 seconds/block:
- a full Devnet node (with the default pruning=syncable) grows at the rate of approximately 6GB/month (approximately 200MB/day)
- an archiving Devnet node (with pruning=nothing) grows at the rate of approximately 12GB/month (approximately 400MB/day),
4. Open several ports to connect to the Agoric peer-to-peer network
- In order to export tendermint metrics, Prometheus listen address: 26660
- Prometheus exporter: 9464
- To connect to the Agoric peer-to-peer network: 26656
- Export Cosmos SDK metrics: 1317
Note to yourself! Over time the usage of the blockchain grows, and inevitable the server requirements will change. Make sure you have handy a plan to update easily the requirements.
From this point on, we recommend you to follow the official tutorial that you can find here: https://github.com/Agoric/agoric-sdk/wiki/Validator-Guide
In addition to the above steps, you will need to perform as well, our service setup as follows:
Systemd
In order to track your logs and errors, you can create the following files and service file. This is mandatory only if you want to sync the node automatically and restart the Agoric Cosmos daemon whenever is needed in cause of failure:
// Create the files to track errors:
sudo mkdir -p /var/log/agoric && sudo touch /var/log/agoric/agoric.log && sudo touch /var/log/agoric/agoric_error.log
// And copy the below script in your system service
Important! Always pay attention to the user โrootโ you are using and each path used.
sudo tee /etc/systemd/system/agoric.service > /dev/null <<โEOFโ
[Unit]
Description=agoric sync node service
After=network-online.target
[Service]
User=root
TimeoutStartSec=0
CPUWeight=90
IOWeight=90
Environment=OTEL_EXPORTER_PROMETHEUS_PORT=9464
ExecStart=/root/go/bin/ag-chain-cosmos start โ log_level=warn
StandardOutput=file:/var/log/agoric/agoric.log
StandardError=file:/var/log/agoric/agoric_error.log
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
// Check your system service
cat /etc/systemd/system/agoric.service
// Control & track your logs via next commands:
systemctl daemon-reload
sudo systemctl enable agoric
sudo systemctl start agoric
sudo systemctl stop agoric
sudo systemctl restart agoric
systemctl -l status agoric
sudo journalctl -u agoric -f
tail -f /var/log/agoric/agoric.log
tail -f /var/log/agoric/agoric_error.log