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 -yGo 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 versiongit clone https://github.com/Source-Protocol-Cosmos/source.gitcd ~/source
git fetch
git checkout v3.0.3
make build && make installsourced init <moniker-name> --chain-id=source-1sourced keys add <walletName>
or
sourced keys add <walletName> --recovercurl -s https://raw.githubusercontent.com/Source-Protocol-Cosmos/mainnet/master/source-1/genesis.json > ~/.source/config/genesis.jsonGenesis sha256
sha256sum ~/.source/config/genesis.json
# ba2261082818227073bd8b49717a9781bf5c440c8e34e21ec72fb15806f047ccnano ~/.source/config/config.toml# Comma separated list of nodes to keep persistent connections to persistent_peers =
"96d63849a529a15f037a28c276ea6e3ac2449695@34.222.1.252:26656,0107ac60e43f3b3d395fea706cb54877a3241d21@35.87.85.162:26656"
nano ~/.source/config/app.toml0.25usource
sourced startsourced 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.serviceCopy 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.targetThis 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 sourcedsudo systemctl start sourcedCheck status:
sourced statusCheck logs:
journalctl -u sourced -f