Source Chain Testnet Setup
Instructions for building sourced binary and connecting to the Source Chain Testnet.
***At this time, Source Chain is in a testing phase and provides a Public Testnet. The Testnet can be utilized to deploy Nodes, Validator Nodes and to deploy and test Smart Contracts.
Below is the list of Source Chain testnets and their current status. You will need to know the version tag for installation of the
For details of upgrades on the current testnet, as well as syncing, you can check out the testnets repo.
If you get stuck, please ask on Discord.
The minimum recommended hardware requirements for running a validator for the Source Chain testnets are:
The operating system you use for your node is entirely your personal preference. You will be able to compile the sourced daemon on most modern linux distributions and recent versions of macOS.
# update the local package list and install any available upgrades
sudo apt-get update && sudo apt upgrade -y
# install toolchain and ensure accurate time synchronization
sudo apt-get install make build-essential gcc git jq chrony -y
For an Ubuntu LTS, you can probably use:
sudo tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz
Please install Go v1.18 or later.
Unless you want to configure in a non standard way, then set these in the
.profilein the user's home (i.e.
After updating your
~/.profileyou will need to source it:
sudo curl https://get.ignite.com/cli! | sudo bash
git clone -b testnet https://github.com/Source-Protocol-Cosmos/source.git
ignite chain build
sourced init <moniker-name> --chain-id=sourcechain-testnet
# Create new keypair
sourced keys add <key-name>
# Restore existing source wallet with mnemonic seed phrase.
# You will be prompted to enter mnemonic seed.
sourced keys add <key-name> --recover
# Query the keystore for your public address
sourced keys show <key-name> -a
<key-name>with a key name of your choosing.
curl -s https://raw.githubusercontent.com/Source-Protocol-Cosmos/testnets/master/sourcechain-testnet/genesis.json > ~/.source/config/genesis.json
This should return:
Find the appropriate section and add:
It will take some time to catch up and sync to the network. Check your status with:
Create a systemd file for your Source service:
sudo nano /etc/systemd/system/sourced.service
Copy and paste the following and update:
ExecStart=/home/<YOUR-USERNAME>/go/bin/sourced start --home /home/<YOUR-USERNAME>/.source
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
journalctl -u sourced -f
To request tokens type
$request <your-public-address>in the message field and press enter.
To upgrade the node to a validator, you will need to submit a
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 sourcechain-testnet \
--gas-prices 0.025usource \
There are certain files that you need to backup to be able to restore your validator if, for some reason, it damaged or lost in some way. Please make a secure backup of the following files located in
It is recommended that you encrypt the backup of these files.