This role provisions a nimbus-eth1 installation that is ETH1 client.
The service exposes five ports by default:
30303
- DevP2P peering port. Must ALWAYS be public.8545
- Combo HTTP port (JSON RPC, Websocket RPC, Graphql). Must NEVER be public.8550
- Engine API HTTP port. Must NEVER be public.9093
- Prometheus metrics port. Should not be public.
Add to your requirements.yml
file:
- name: infra-role-nimbus-eth1
src: git+git@github.com:status-im/infra-role-nimbus-eth1.git
scm: git
The crucial settings are:
# branch which should be built
nimbus_eth1_repo_branch: 'master'
# ethereum network to connect to
nimbus_eth1_network: 'mainnet'
# increase maximum number of peers
nimbus_eth1_max_peers: 160
# optional setting for debug mode
nimbus_eth1_log_level: 'DEBUG'
Assuming the master
branch was built you can manage the service with:
systemctl start nimbus-eth1-mainnet-master
systemctl status nimbus-eth1-mainnet-master
systemctl stop nimbus-eth1-mainnet-master
You can view logs under:
tail -f /data/nimbus-eth1-mainnet-master/logs/service.log
The service will store all data in the /data/nimbus-eth1-mainnet-master/data
directory.
A timer will be installed to build the image:
systemctl list-timers 'build-nimbus-eth1-*'
To rebuild the image:
systemctl start build-nimbus-eth1-mainnet-master.service
To check build logs use:
journalctl -u build-nimbus-eth1-mainnet-master.service