Installed Celo on Baremetal Archive Node according to Stake🦑Squid’s guide
What I would like to add in addition to this description:
The first is service management in Linux, if you don’t know what it is it will be useful to know more about it, there is enough material on the Internet, here a brief introduction to understand current installation.
A service in systemd is described by a unit file, which describes how this service should be started and how to behave with it. There are different types of units, we are interested in service
Systemd has a special tool for managing services in Linux which is the systemctl command. This utility allows you to do a lot of things, from restarting a linux service and checking its status, to analyzing the efficiency of the service load.
The commands we are interested in:
- start — start the linux service
- stop — to stop the linux service
- reload — ask the service to re-read its configuration from the file system
- restart — restart the service
- status — status of the service
- enable — add the service to autostart
Create/edit the service file in a specific location in the Linux, in our case it is the /etc/systemd/system
Create a file
nano /etc/systemd/system/celo.service
add the contents:
[Unit]
Description=Celo
Archive Node After=network.target
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
Type=simple
Restart=on-failure
RestartSec=5
TimeoutSec=900
User=root
Nice=0
LimitNOFILE=200000
WorkingDirectory=/root/celo-blockchain
ExecStart=/root/celo-blockchain/build/bin/geth \
--datadir=/root/.local/share/celo/datadir \
--syncmode=full \
--gcmode=archive \
--txlookuplimit=0 \
--cache.preimages \
--http \
--http.addr=0.0.0.0 \
--http.port=9656 \
--http.api=eth,net,web3,debug,admin,personal
KillSignal=SIGHUP
[Install]
WantedBy=multi-user.target
Re-read the configuration from the system file
systemctl daemon-reload
start the service
systemctl restart celo.service
add to autostart
systemctl enable celo.service
Second, you can watch the synchronization check from the console by running the command:
curl --data '{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST http://localhost:9656
This hash should be converted to see block number in decimal system — for example here: https://www.rapidtables.com/convert/number/hex-to-decimal.html and compare with current block in blockscanner https://celoscan.io/