If you are reusing your testnet box, you must first remove the old data. Validators from the previous testnet may have usource available to start a new node, use your same wallet:
sudo systemctl stop sourced && \
cd $HOME && \
rm -rf .source && \
rm -rf source && \
rm -rf $(which sourced)
For full Source Chain Documentation click: HERE
8GB RAM 250GB of disk space 1.4 GHz amd64 CPU
Prerequisites:
Prepare Server
sudo apt update && sudo apt upgrade -y && \
sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc fail2ban htop -y
Go Make sure to have Golang >=1.19.
ver="1.19" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version
git clone https://github.com/Source-Protocol-Cosmos/source.git
cd ~/source
git fetch
git checkout v3.0.3
make build && make install
sourced init <moniker-name> --chain-id=source-1
sourced keys add <walletName>
or
sourced keys add <walletName> --recover
curl -s https://raw.githubusercontent.com/Source-Protocol-Cosmos/mainnet/master/source-1/genesis.json > ~/.source/config/genesis.json
Genesis sha256
sha256sum ~/.source/config/genesis.json
# ba2261082818227073bd8b49717a9781bf5c440c8e34e21ec72fb15806f047cc
nano ~/.source/config/config.toml
# Comma separated list of nodes to keep persistent connections to persistent_peers =
"[email protected]:26656,[email protected]:26656"
nano ~/.source/config/app.toml
0.25usource
sourced start
sourced tx staking create-validator \
--amount 1000000000usource \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--details "validators write bios too" \
--pubkey=$(sourced tendermint show-validator) \
--moniker “<key-name>” \
--chain-id source-1 \
--fees=50000usource \
--from <key-name>
Note: Consider using Cosmovisor to make your life easier.
Create a systemd file for your Source service:
sudo nano /etc/systemd/system/sourced.service
Copy and paste the following and update :
Description=Source daemon
After=network-online.target
[Service]
User=<YOUR_USERNAME>
ExecStart=/home/<YOUR-USERNAME>/go/bin/sourced start --home /home/<YOUR-USERNAME>/.source
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
This assumes $HOME/.source to be your directory for config and data. Your actual directory locations may vary.
Enable and start the new service:
sudo systemctl enable sourced
sudo systemctl start sourced
Check status:
sourced status
Check logs:
journalctl -u sourced -f