Install Erigon & Nimbus services (archive mode) - Ajay1559/rocketpool-on-arm GitHub Wiki

To run Rocket Pool "Native Mode" we need to run all the services ourselves just like as if we were a solo staker ;)

Execution Client => Erigon

  1. sudo useradd -r -s /sbin/nologin execution-chain

  2. sudo mkdir -p /home/execution-chain/.ethereum

  3. sudo chown -R execution-chain:execution-chain /home/execution-chain/

  4. sudo vi /etc/ethereum/execution-chain.conf

     ARGS="--datadir /home/execution-chain/.ethereum \
     --mainnet \
     --metrics \
     --metrics.expensive \
     --pprof \
     --http \
     --authrpc.jwtsecret=/etc/ethereum/jwtsecret"
    
  5. sudo vi /usr/lib/systemd/system/execution-chain.service

     [Unit]
     Description=Ethereum Erigon client daemon in archive mode
     After=network.target
    
     [Service]
     EnvironmentFile=/etc/ethereum/execution-chain.conf
     ExecStart=/usr/bin/erigon $ARGS
     Restart=always
     User=execution-chain
     KillSignal=SIGTERM
     TimeoutStopSec=600
    
     [Install]
     WantedBy=multi-user.target
    
  6. sudo systemctl daemon-reload

  7. if the service is not already running and enabled on startup: sudo systemctl enable --now execution-chain

  8. if you ever with to watch the logs sudo journalctl -u execution-chain -b -f

Consensus Client => Nimbus

  1. sudo useradd -r -s /sbin/nologin consensus-chain

  2. sudo mkdir -p /home/consensus-chain/.ethereum

  3. sudo chown -R consensus-chain:consensus-chain /home/consensus-chain/

  4. sudo vi /etc/ethereum/consensus-chain.conf

     ARGS="beacon \
     --network mainnet \
     --datadir /home/consensus-chain/.ethereum \
     --eth1 \
     --http \
     --metrics \
     --execution-endpoint http://127.0.0.1:8551 \
     --builder http://127.0.0.1:18550 \
     --execution-jwt /etc/ethereum/jwtsecret \
     --checkpoint-sync-url https://beaconstate.ethstaker.cc \
     --prune-payloads false"
    
  5. sudo vi /usr/lib/systemd/system/consensus-chain.service

     [Unit]
     Description=Nimbus Consensus chain daemon
     After=network.target
    
     [Service]
     EnvironmentFile=/etc/ethereum/consensus-chain.conf
     ExecStart=/usr/bin/nimbus_beacon_node $ARGS
     Restart=always
     User=consensus-chain
    
     [Install]
     WantedBy=multi-user.target
    
  6. sudo systemctl daemon-reload

  7. if the service is not already running and enabled on startup: sudo systemctl enable --now consensus-chain

  8. if you ever with to watch the logs sudo journalctl -u consensus-chain -b -f