Update system and install build tools
Ensure your system is up to date and has all the necessary tools for the installation:
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
Install Go
Replace VERSION
with the desired Go version
VERSION="1.22.3"
cd $HOME
wget "https://golang.org/dl/go$VERSION.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VERSION.linux-amd64.tar.gz"
rm "go$VERSION.linux-amd64.tar.gz"
# Set Go environment variables
echo "export PATH=\$PATH:/usr/local/go/bin:\$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
Install node
cd $HOME
mkdir src
cd src
git clone https://github.com/Source-Protocol-Cosmos/source
cd source
git checkout v3.0.3
make install
sourced 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