Ethereum
Set up your Ethereum Mainnet or Ropsten Testnet node.
Prerequisites
- Setup your Axelar validator
- Minimum hardware requirements: CPU with 2+ cores, 4GB RAM, 600GB+ free storage space.
- MacOS or Ubuntu 18.04+
- Official Documentation
Install Geth
In this guide we will be installing Geth
with the built-in launchpad PPAs (Personal Package Archives) on Ubuntu. If you are on different OS, please refer to the official Documentation.
1. Enable launchpad repository
sudo add-apt-repository -y ppa:ethereum/ethereum
2. Install the latest version of go-ethereum:
sudo apt-get update
sudo apt-get install ethereum
Run geth
through systemd
1. Create systemd service file
After installation of go-ethereum
, we are now ready to start the geth
process but in order to ensure it is running in the background and auto-restarts in case of a server failure, we will setup a service file with systemd.
Note: In the service file below you need to replace $USER
and path to geth
, depending on your system configuration.
sudo tee <<EOF >/dev/null /etc/systemd/system/geth.service
[Unit]
Description=Ethereum Node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=/usr/bin/geth --syncmode "snap" --http --http.vhosts "*" --http.addr 0.0.0.0
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
If you would like to run a node on the Testnet instead (Ropsten), you need to add the --ropsten
flag to the configuration above.
2. Enable and start the geth
service
sudo systemctl enable geth
sudo systemctl daemon-reload
sudo systemctl start geth
If everything was set-up correctly, your Ethereum node should now be starting the process of synchronization. This will take several hours, depending on your hardware.To check the status of the running service or to follow the logs, you can use:
sudo systemctl status geth
sudo journalctl -u geth -f
Test your Ethereum RPC connection
Alternatively, you can now also use the Geth JavaScript console and check status of your node by attaching to your newly created geth.ipc
. Don't forget to replace $USER and path, depending on your server configuration.
geth attach ipc:/root/.ethereum/geth.ipc
eth.syncing
#Testnet
#geth attach ipc:/root/.ethereum/ropsten/geth.ipc
Once your node is fully synced, the output from above will say false
. To test your Ethereum node, you can send an RPC request using cURL
curl -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
If you are testing it remotely, please replace localhost
with the IP or URL of your server.
EVM RPC endpoint URL
In order for Axelar Network to connect to your Ethereum node, your rpc_addr
should be exposed in this format:
http://IP:PORT
Example:
http://192.168.192.168:8545