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