Autheo Node Setup
The following document outlines the steps necessary to setup your Autheo validator node. You will need Ubuntu 22.04 for this process.
Cloning Node Software
You can either download the node software binary from Github directly or use the following CLI command to clone the repository locally:
git clone <Repo Location TBD on deployment>
Adjust authd
and rpc.sh
Files
You will need to move the authd
binary located in user/local/bin
In the cloned node repo, you will find the file rpc.sh
. You will need to update the NODE_NUMBER
variable to the current number of nodes, plus one. Therefore, if there are currently 4 nodes, your NODE_NUMBER
should be 5
. Verify that the contents appear as follows:
*********************************************
#!/bin/bash
LOGLEVEL="debug"
NODE_NUMBER=3
CONST_NODE_NAME="auth-rpc-node"
CHAINID="auth_ChainID-1"
# Set the script directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
HOMEDIR="${SCRIPT_DIR}/${CONST_NODE_NAME}${NODE_NUMBER}"
# Function to set up the Ethereum node
function setupNode() {
mkdir -p "${HOMEDIR}/config"
# Initialize the node
authd config keyring-backend "file" --home "$HOMEDIR"
authd config chain-id "$CHAINID" --home "$HOMEDIR"
authd config node "tcp://${CONST_NODE_NAME}${NODE_NUMBER}:26657" --home "$HOMEDIR"
authd init "${CONST_NODE_NAME}${NODE_NUMBER}" -o --chain-id "$CHAINID" --home "$HOMEDIR"
}
# Function to update application configuration
function updateAppConfig() {
sed -i '/minimum-gas-prices =/c\minimum-gas-prices = "0.0001mol"' "$HOMEDIR/config/app.toml"
sed -i '/address = "0.0.0.0:8545"/c\address = "0.0.0.0:8545"' "$HOMEDIR/config/app.toml"
sed -i '/ws-address = "127.0.0.1:8546"/c\ws-address = "0.0.0.0:8546"' "$HOMEDIR/config/app.toml"
sed -i '/api = "eth,net,web3"/c\api = "eth,txpool,personal,net,debug,web3"' "$HOMEDIR/config/app.toml"
}
# Main execution
set -o xtrace
setupNode
copyGenesis
updateAppConfig
*****************************************
Swap Out the Genesis.json File
In the /$HOMEDIR/config/
directory, you will find a genesis.json
file. Replace the existing genesis.json
file with the new version found in your cloned node repo.
Creating the Service File
Using your IDE of choice, create a new authd.service
file using the following command:
sudo vim /etc/systemd/system/authd.service
Your authd.service
file should contain the following code:
[Unit]
Description=Auth Daemon
After=network.target
[Service]
Type=simple
ExecStart=/bin/sh -c 'echo "Z3xV7aDp" | authd start --json-rpc.api=eth,txpool,personal,net,debug,web3 --api.enable --home YOUR_HOME-DIR'
WorkingDirectory=/home/<USER>
User=<USERNAME>
Group=<GROUP>
[Install]
WantedBy=multi-user.target
You must replace the following variables within this file:
-
USER - The name of your node's working directory.
-
USERNAME - Your username for node access.
-
GROUP - The name of your node group.
Running the Node Software
After completing the above configuration, you can run the node software with the following commands:
sudo systemctl enable authd.service
sudo systemctl start authd.service