Before node instalation make sure you have installed go
Useful guile: https://www.digitalocean.com/community/tutorials/how-to-install-go-on-ubuntu-20-04
Update system and install build tools
sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
Install node
cd $HOME
mkdir src
cd src
git clone https://github.com/Source-Protocol-Cosmos/source
cd source
git checkout v3.0.1
make install
gaiad version
Initialize Node
Replace <node_name>
~/go/bin/.sourced init <node_name> --chain-id="source-1"
Download genesis.json
curl -Ls https://raw.githubusercontent.com/Source-Protocol-Cosmos/mainnet/master/source-1/genesis.json > $HOME/.sourced/config/genesis.json
Download addrbook.json
curl -Ls <addrbookUrl> > $HOME/.sourced/config/addrbook.json
Create Service
Cosmovisor:
If you haven't cosmovisor, you should install it
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
You can find cosmovisor biniry in ~/go/bin/
folder. After that you should create
mkdir -p ~/.source/cosmovisor/genesis/bin && mkdir -p ~/.source/cosmovisor/upgrades
Set up service:
sudo nano /etc/systemd/system/sourced.service
Replace <your_user>
[Unit]
Description=sourced Daemon cosmovisor
After=network-online.target
[Service]
User=<your_user>
ExecStart=/home/<your_user>/go/bin/cosmovisor run start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=sourced"
Environment="DAEMON_HOME=/home/<your_user>/.sourced"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
[Install]
WantedBy=multi-user.target
Simple service file:
Set up service:
sudo nano /etc/systemd/system/sourced.service
Replace <your_user>
[Unit]
Description=sourced Daemon
After=network-online.target
[Service]
User=<your_user>
ExecStart=/home/<your_user>/go/bin/sourced start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Sync node:
After that you sould sync node. You have 2 ways. State-sync or download snapsot. See this guides in next tabs.
Start service
sudo systemctl enable sourced.service && sudo systemctl start sourced.service && journalctl -u sourced.service -f