![](assets/images/blog/nois-blogrestake.png)
Stake via Restake
How to stake Nois tokens via Restake?
![](assets/images/blog/nois-blogkeplr.png)
Stake via Keplr
Stake via Restake
Stake via Keplr
Özellik
Değer
Snapshot Info
Stop the service and reset the data
sudo systemctl stop noisd
cp $HOME/.noisd/data/priv_validator_state.json $HOME/.noisd/priv_validator_state.json.backup
rm -rf $HOME/.noisd/data
Download latest snapshot
curl -L https://services.bccnodes.com/mainnets/nois/nois.tar.lz4| tar -Ilz4 -xf - -C $HOME/.noisd
mv $HOME/.noisd/priv_validator_state.json.backup $HOME/.noisd/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart noisd && sudo journalctl -u noisd -f --no-hostname -o cat
Stop the service and reset the data
sudo systemctl stop noisd
cp $HOME/.noisd/data/priv_validator_state.json $HOME/.noisd/priv_validator_state.json.backup
noisd tendermint unsafe-reset-all --home $HOME/.noisd --keep-addr-book
Get and configure the state sync information
SNAP_RPC="https://nois.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/.noisd/config/config.toml
mv $HOME/.noisd/priv_validator_state.json.backup $HOME/.noisd/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart noisd && sudo journalctl -u noisd -f --no-hostname -o cat
Download Addrbook
curl -Ls https://services.bccnodes.com/mainnets/nois/addrbook.json > $HOME/.noisd/config/addrbook.json
Restart the service and check the log
sudo systemctl restart noisd && sudo journalctl -u noisd -f --no-hostname -o cat
Download Genesis
curl -Ls https://services.bccnodes.com/mainnets/nois/genesis.json > $HOME/.noisd/config/genesis.json
Restart the service and check the log
sudo systemctl restart noisd && sudo journalctl -u noisd -f --no-hostname -o cat
Set fresh peers
livepeers=$(curl -s https://services.bccnodes.com/mainnets/nois/peers.txt)
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$livepeers\"/" ~/.noisd/config/config.toml
Restart the service and check the log
sudo systemctl restart noisd && sudo journalctl -u noisd -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
rm -rf noisd
git clone https://github.com/noislabs/noisd.git
cd noisd
git checkout v1.0.3
make install
Initialize Node
noisd config chain-id nois-1
noisd init "BccNodesGuide" --chain-id nois-1
Download genesis and addrbook
curl -Ls https://services.bccnodes.com/mainnets/nois/genesis.json > $HOME/.noisd/config/genesis.json
curl -Ls https://services.bccnodes.com/mainnets/nois/addrbook.json > $HOME/.noisd/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/.noisd/config/app.toml
Indexer (optional)
indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.noisd/config/config.toml
Set minimum gas price
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0001unois"|g' $HOME/.noisd/config/app.toml
Enable prometheus
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.noisd/config/config.toml
Create service
sudo tee /etc/systemd/system/noisd.service > /dev/null << EOF
[Unit]
Description=nois Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which noisd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Start service
sudo systemctl daemon-reload
sudo systemctl enable noisd
sudo systemctl start noisd
sudo journalctl -u noisd -f
Create a validator
noisd tx staking create-validator \
--amount 1000000unois \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey=$(noisd tendermint show-validator) \
--moniker BccNodesGuide \
--chain-id nois-1 \
--gas-prices=0.1unois \
--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
noisd keys add wallet
Recover existing key
noisd keys add wallet --recover
List All Keys
noisd keys list
Delete Key
noisd keys delete wallet
Export Key (save to wallet.backup)
noisd keys export wallet
Import Key
noisd keys import wallet wallet.backup
Export Key (save to wallet.backup)
noisd q bank balances $(noisd keys show wallet -a)
Validator Management
Please adjust --identity , --details , --moniker , --security-contact , --from
Create a New Validator
noisd tx staking create-validator \
--amount=1000000unois \
--pubkey=$(noisd tendermint show-validator) \
--moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=nois-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.1unois \
--gas-adjustment=1.5 \
--gas=auto \
-y
Edit Existing Validator
noisd tx staking edit-validator \
--new-moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=nois-1 \
--commission-rate=0.1 \
--from=wallet \
--gas-prices=0.1unois \
--gas-adjustment=1.5 \
--gas=auto \
-y
Unjail Validator
noisd tx slashing unjail --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Signing Info (Jailed Reason)
noisd query slashing signing-info $(noisd tendermint show-validator)
List All Active Validators
noisd 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
noisd q staking validator $(noisd keys show wallet --bech val -a)
Tokens Management
Please adjust TO_VALOPER_ADDRESS , --from
Withdraw Rewards From All Validators
noisd tx distribution withdraw-all-rewards --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Withdraw Commission And Rewards From Your Validator
noisd tx distribution withdraw-rewards $(noisd keys show wallet --bech val -a) --commission --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Delegate Token to your own validator
noisd tx staking delegate $(noisd keys show wallet --bech val -a) 1000000unois --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Delegate Token to other validator
noisd tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000unois --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Unbond Token from your validator
noisd tx staking redelegate $(noisd keys show wallet --bech val -a) YOUR_TO_VALOPER_ADDRESS 1000000unois --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Send Token to another wallet
noisd tx bank send wallet TO_WALLET_ADDRESS 1000000uunois --from wallet --chain-id nois-1
Delegate Token to other validator
noisd tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000unois --from wallet --chain-id nois-1 --gas-prices 0.1unois --gas-adjustment 1.5 --gas auto -y
Governance
Please adjust ---description , --title , --from
Create New Text Proposal
noisd tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=1000000unois \
--type="Text" \
--from=wallet \
--gas-prices=0.1unois \
--gas-adjustment=1.5 \
--gas=auto \
-y
List All Proposals
noisd query gov proposals
View Proposal By ID (e.g 20)
noisd query gov proposal 20
Vote [yes/no/no_with_veto/abstain]
noisd tx gov vote 20 [yes/no/no_with_veto/abstain] --chain-id nois-1 --from wallet
Utility
Update Indexer
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.noisd/config/config.toml
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.noisd/config/config.toml
Get Validator Info
noisd status 2>&1 | jq .ValidatorInfo
Get Denom Info
noisd q bank denom-metadata -oj | jq
Get Sync Status
noisd status 2>&1 | jq .SyncInfo.catching_up
Get Latest Height
noisd status 2>&1 | jq .SyncInfo.latest_block_height
Get Peer
echo $(noisd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.noisd/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Remove Node
sudo systemctl stop noisd && sudo systemctl disable noisd && sudo rm /etc/systemd/system/noisd.service && sudo systemctl daemon-reload && rm -rf $HOME/.noisd && rm -rf rebus.core && sudo rm -rf $(which noisd)
Service Management
Reload Services
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable noisd
Disable Service
sudo systemctl disable noisd
Start Service
sudo systemctl start noisd
Stop Service
sudo systemctl stop noisd
Restart Service
sudo systemctl restart noisd
Check Service Status
sudo systemctl status noisd
Check Service Logs
sudo journalctl -u noisd -f --no-hostname -o cat
API
https://nois.api.bccnodes.com/
RPC
https://nois.rpc.bccnodes.com/
gRPC
nois.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