Stake via Restake
How to stake Source tokens via Restake?
Stake via Keplr
Stake via Restake
Stake via Keplr
Özellik
Değer
Snapshot Info
Stop the service and reset the data
sudo systemctl stop sourced
cp $HOME/.source/data/priv_validator_state.json $HOME/.source/priv_validator_state.json.backup
rm -rf $HOME/.source/data
Download latest snapshot
curl -L https://services.bccnodes.com/mainnets/source/source.tar.lz4| tar -Ilz4 -xf - -C $HOME/.source
mv $HOME/.source/priv_validator_state.json.backup $HOME/.source/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart sourced && sudo journalctl -u sourced -f --no-hostname -o cat
Stop the service and reset the data
sudo systemctl stop sourced
cp $HOME/.source/data/priv_validator_state.json $HOME/.source/priv_validator_state.json.backup
sourced tendermint unsafe-reset-all --home $HOME/.source --keep-addr-book
Get and configure the state sync information
SNAP_RPC="https://source.rpc.bccnodes.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.source/config/config.toml
mv $HOME/.source/priv_validator_state.json.backup $HOME/.source/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart sourced && sudo journalctl -u sourced -f --no-hostname -o cat
Download Addrbook
curl -Ls https://services.bccnodes.com/mainnets/source/addrbook.json > $HOME/.source/config/addrbook.json
Restart the service and check the log
sudo systemctl restart sourced && sudo journalctl -u sourced -f --no-hostname -o cat
Download Genesis
curl -Ls https://services.bccnodes.com/mainnets/source/genesis.json > $HOME/.source/config/genesis.json
Restart the service and check the log
sudo systemctl restart sourced && sudo journalctl -u sourced -f --no-hostname -o cat
Set fresh peers
livepeers=$(curl -s https://services.bccnodes.com/mainnets/source/peers.txt)
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$livepeers\"/" ~/.source/config/config.toml
Restart the service and check the log
sudo systemctl restart sourced && sudo journalctl -u sourced -f --no-hostname -o cat
Update packages & Install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc tmux chrony lz4 -y
Install GO
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.19.10.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
Download and build binaries
cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/Source-Protocol-Cosmos/source.git
cd ~/source
git checkout v3.0.1
make install
Initialize Node
sourced config chain-id source-1
sourced init "BccNodesGuide" --chain-id source-1
Download genesis and addrbook
curl -Ls https://services.bccnodes.com/mainnets/source/genesis.json > $HOME/.source/config/genesis.json
curl -Ls https://services.bccnodes.com/mainnets/source/addrbook.json > $HOME/.source/config/addrbook.json
Config pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
$HOME/.source/config/app.toml
Indexer (optional)
indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.source/config/config.toml
Set minimum gas price
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0001usource"|g' $HOME/.source/config/app.toml
Enable prometheus
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.source/config/config.toml
Create service
sudo tee /etc/systemd/system/sourced.service > /dev/null << EOF
[Unit]
Description=source
After=network-online.target
[Service]
User=$USER
ExecStart=$(which sourced) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Start service
sudo systemctl daemon-reload
sudo systemctl enable sourced
sudo systemctl start sourced
sudo journalctl -u sourced -f
Create a validator
sourced tx staking create-validator \
--amount 1000000usource \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey=$(sourced tendermint show-validator) \
--moniker BccNodesGuide \
--chain-id source-1 \
--gas-prices=0.1usource \
--gas-adjustment=1.5 \
--gas=auto \
--from wallet
Key Management
Replace the wallet value in the codes with your own wallet name.
Add New Key
sourced keys add wallet
Recover existing key
sourced keys add wallet --recover
List All Keys
sourced keys list
Delete Key
sourced keys delete wallet
Export Key (save to wallet.backup)
sourced keys export wallet
Import Key
sourced keys import wallet wallet.backup
Export Key (save to wallet.backup)
sourced q bank balances $(sourced keys show wallet -a)
Validator Management
Please adjust --identity , --details , --moniker , --security-contact , --from
Create a New Validator
sourced tx staking create-validator \
--amount=1000000usource \
--pubkey=$(sourced tendermint show-validator) \
--moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=source-1 \
--security-contact="XXXXXXX" \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \
--gas-prices=0.1usource \
--gas-adjustment=1.5 \
--gas=auto \
-y
Edit Existing Validator
sourced tx staking edit-validator \
--new-moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=source-1 \
--commission-rate=0.1 \
--from=wallet \
--gas-prices=0.1usource \
--gas-adjustment=1.5 \
--gas=auto \
-y
Unjail Validator
sourced tx slashing unjail --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Signing Info (Jailed Reason)
sourced query slashing signing-info $(sourced tendermint show-validator)
List All Active Validators
sourced q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
View Validator Details
sourced q staking validator $(sourced keys show wallet --bech val -a)
Tokens Management
Please adjust TO_VALOPER_ADDRESS , --from
Withdraw Rewards From All Validators
sourced tx distribution withdraw-all-rewards --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Withdraw Commission And Rewards From Your Validator
sourced tx distribution withdraw-rewards $(sourced keys show wallet --bech val -a) --commission --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Delegate Token to your own validator
sourced tx staking delegate $(sourced keys show wallet --bech val -a) 1000000usource --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Delegate Token to other validator
sourced tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000usource --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Unbond Token from your validator
sourced tx staking redelegate $(sourced keys show wallet --bech val -a) YOUR_TO_VALOPER_ADDRESS 1000000usource --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Send Token to another wallet
sourced tx bank send wallet TO_WALLET_ADDRESS 1000000uusource --from wallet --chain-id source-1
Delegate Token to other validator
sourced tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000usource --from wallet --chain-id source-1 --gas-prices 0.1usource --gas-adjustment 1.5 --gas auto -y
Governance
Please adjust ---description , --title , --from
Create New Text Proposal
sourced tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=1000000usource \
--type="Text" \
--from=wallet \
--gas-prices=0.1usource \
--gas-adjustment=1.5 \
--gas=auto \
-y
List All Proposals
sourced query gov proposals
View Proposal By ID (e.g 20)
sourced query gov proposal 20
Vote [yes/no/no_with_veto/abstain]
sourced tx gov vote 20 [yes/no/no_with_veto/abstain] --chain-id source-1 --from wallet
Utility
Update Indexer
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.source/config/config.toml
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.source/config/config.toml
Get Validator Info
sourced status 2>&1 | jq .ValidatorInfo
Get Denom Info
sourced q bank denom-metadata -oj | jq
Get Sync Status
sourced status 2>&1 | jq .SyncInfo.catching_up
Get Latest Height
sourced status 2>&1 | jq .SyncInfo.latest_block_height
Get Peer
echo $(sourced tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.source/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Remove Node
sudo systemctl stop sourced && sudo systemctl disable sourced && sudo rm /etc/systemd/system/sourced.service && sudo systemctl daemon-reload && rm -rf $HOME/.source && rm -rf rebus.core && sudo rm -rf $(which sourced)
Service Management
Reload Services
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable sourced
Disable Service
sudo systemctl disable sourced
Start Service
sudo systemctl start sourced
Stop Service
sudo systemctl stop sourced
Restart Service
sudo systemctl restart sourced
Check Service Status
sudo systemctl status sourced
Check Service Logs
sudo journalctl -u sourced -f --no-hostname -o cat
API
https://source.lcd.bccnodes.com/
RPC
https://source.rpc.bccnodes.com/
gRPC
source.grpc.bccnodes.com:443
1,255+
Number of delegators
$721,839+
Total staked assets
19
Supported networks
We pride ourselves with our ability to perform and deliver results. Use the form below to discuss your project needs with our team, we will get back asap
Contact UsIf you are interested in the possibility of establishing a long-term partnership with our team or if you have any questions, please feel free to contact us at contact@bccnodes.com.
Our team is made up of experienced individuals and entrepreneurs from a range of disciplines, including blockchain, product development, marketing, and design, who all share a passion for creating positive social impact through the power of web3 and blockchain technology.
The answers are here!
There are multiple options for staking on a Cosmos ecosystem. For a detailed guide, we invite you to review our article at the following link.
We pride ourselves with our ability to perform and deliver results. Use the form below to discuss your project needs with our team, we will get back asap
Contact UsOur latest articles
OKP4 token
Meet Stride
Meet OKP4
About Massa
Stake via Restake
Stake via Keplr
Stake via Keplr
If you still have questions for us, please fill out this form or contact us directly by e-mail at contact@bccnodes.com. We will be happy to answer your questions.
based in
Istanbul, Turkey
contact@bccnodes.com