Join The Public Testnet
Hardware Requirements
Minimal
4GB RAM
300GB SSD
2 vCPU
Recommended
8GB RAM
600GB SSD
4 vCPU
Installation Steps
Install dependencies:
cd $HOME
sudo apt update
sudo apt install make clang pkg-config libssl-dev build-essential git jq ncdu bsdmainutils -y < "/dev/null"
Install Go:
cd $HOME
wget -O go1.20.3.linux-amd64.tar.gz https://go.dev/dl/go1.20.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz && rm go1.20.3.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
echo 'export GO111MODULE=on' >> $HOME/.bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bashrc && . $HOME/.bashrc
go version
Clone git repository:
git clone --branch public-testnet https://github.com/stafihub/stafihub
Install:
cd $HOME/stafihub && make install
Download genesis (replace YOUR_NODE_NAME
):
stafihubd init YOUR_NODE_NAME --chain-id stafihub-testnet-1
wget -O $HOME/.stafihub/config/genesis.json "https://raw.githubusercontent.com/stafihub/network/main/testnets/stafihub-testnet-1/genesis.json"
stafihubd tendermint unsafe-reset-all --home ~/.stafihub
Configure your node:
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.01ufis\"/" $HOME/.stafihub/config/app.toml
sed -i '/\[grpc\]/{:a;n;/enabled/s/false/true/;Ta};/\[api\]/{:a;n;/enable/s/false/true/;Ta;}' $HOME/.stafihub/config/app.toml
peers="[email protected]:26656,[email protected]:26656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.stafihub/config/config.toml
Start the node in the background:
stafihubd start
Or install service to run the node:
echo "[Unit]
Description=StaFiHub Node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=$(which stafihubd) start
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target" > $HOME/stafihubd.service
sudo mv $HOME/stafihubd.service /etc/systemd/system
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF
sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable stafihubd
sudo systemctl restart stafihubd
Check your node logs:
journalctl -u stafihubd -f
Generate keys
stafihubd keys add YOUR_WALLET_NAME --keyring-backend file
You can recover your keys with --recover
flag if you have mnemonic
Faucet
You can ask for tokens in the #faucet Discord channel.
!faucet send YOUR_WALLET_ADDRESS
Create validator
Use the following command (do not forget to replace YOUR_NODE_NAME
and YOUR_WALLET_NAME
):
stafihubd tx staking create-validator -y --amount=1000000ufis --pubkey=$(stafihubd tendermint show-validator) --moniker=YOUR_NODE_NAME --website="<website>" --details="<details>" --commission-rate=0.10 --commission-max-rate=0.20 --commission-max-change-rate=0.01 --min-self-delegation=1 --from=YOUR_WALLET_NAME --chain-id=stafihub-testnet-1 --gas-prices=0.025ufis --keyring-backend file
Edit Validator Description
You can edit your validator's public description. This info is to identify your validator, and will be relied on by delegators to decide which validators to stake to. Make sure to provide input for every flag below. If a flag is not included in the command the field will default to empty, if the field has never been set or remain the same if it has been set in the past.
The <YOUR_WALLET_NAME> specifies which validator you are editing. If you choose to not include some of the flags below, remember that the --from flag must be included to identify the validator to update.
The --identity
can be used as to verify identity with systems like Keybase or UPort. When using Keybase, --identity
should be populated with a 16-digit string that is generated with a keybase.io (opens new window)account. It's a cryptographically secure method of verifying your identity across multiple online networks. The Keybase API allows us to retrieve your Keybase avatar. This is how you can add a logo to your validator profile.
stafihubd tx staking edit-validator --new-moniker=YOUR_NODE_NAME --website="<website>" --details="<details>" --commission-rate="0.10" --gas="auto" --gas-prices=0.025ufis --from=YOUR_WALLET_NAME --chain-id=stafihub-testnet-1 --keyring-backend file
Warning: Please note that some parameters such as commission-max-rate
and commission-max-change-rate
cannot be changed once your validator is up and running.
Note: The commission-rate
value must adhere to the following rules:
Must be between 0 and the validator's
commission-max-rate
Must not exceed the validator's
commission-max-change-rate
which is maximum % point change rate per day. In other words, a validator can only change its commission once per day and withincommission-max-change-rate
bounds.
Unjail Validator
When a validator is "jailed" for downtime, you must submit an Unjail
transaction from the operator account in order to be able to get block proposer rewards again (depends on the zone fee distribution).
stafihubd tx slashing unjail --from=YOUR_WALLET_NAME --chain-id=stafihub-testnet-1 --gas-prices=0.025ufis --keyring-backend file
Explorer
Explorer available here.
Last updated