STEP 1 Update your server to get the latest version
sudo apt update && sudo apt upgrade -y
According to OKP4, the problem isnβt the volume of data, but rather the improper handling and underestimation of its value. Despite the plethora of data accessible, it is frequently under-utilised, inadequately shared or worst used against your will. This is why OKP4 proposed the concept of the Dataverse.
sudo apt update && sudo apt upgrade -y
sudo apt install git curl wget tar lz4 unzip jq build-essential pkg-config clang bsdmainutils make ncdu -y
Go is a programming language allowing each node of the Cosmos ecosystem to operate.
Go is a compiled and concurrent programming language inspired by C and Pascal.
This language was developed by Google from an initial concept by Robert Griesemer, Rob Pike and Ken Thompson.
cd $HOME
version="1.21.6"
wget "https://golang.org/dl/go$version.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$version.linux-amd64.tar.gz"
rm "go$version.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
Check GO version, it must return : go version go1.21.6 linux/amd64
go version
Top page
Here we will install the node for Okp4 with this binary version : v6.0.0
Please be sure to install the latest version one last minute version can be published ! Please check by yourself here...
cd $HOME
git clone https://github.com/okp4/okp4d.git
cd okp4d
git checkout v6.0.0
make install
Check if the binary "okp4d" version v6.0.0 has been correctly installed
okp4d version
Top page
What does moniker mean?
A personal name or nickname. This name (moniker) will appear in the blockchain explorer.
SPACE in your moniker will create errors
OKP4_MONIKER="Replace_AVIAONE_by_your_name"
Top page
We are now ready to initialze the node
okp4d init $OKP4_MONIKER --chain-id okp4-drunemeton-1
Top page
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0uknow\"|" $HOME/.okp4d/config/app.toml
Download genesis
wget -O $HOME/.okp4d/config/genesis.json "https://services.okp4-drunemeton-1.okp4.aviaone.com/genesis.json"
Download addrbook
wget -O $HOME/.okp4d/config/addrbook.json "https://services.okp4-drunemeton-1.okp4.aviaone.com/addrbook.json"
Add Seeds
SEEDS="258f523c96efde50d5fe0a9faeea8a3e83be22ca@seed.okp4-drunemeton-1.okp4.aviaone.com:10289,a7f1dcf7441761b0e0e1f8c6fdc79d3904c22c01@seeds.cros-nest.com:36656"
sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/.okp4d/config/config.toml
Change ports
Advanced users ONLY !
Clear Data
okp4d tendermint unsafe-reset-all $HOME/.okp4d --keep-addr-book
Top page
This will let you start and stop your node with /etc/systemd/system
sudo tee /etc/systemd/system/okp4d.service > /dev/null <<EOF
[Unit]
Description=OKP4\n
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which okp4d) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable okp4d
sudo systemctl daemon-reload
This command will start your node
Do not use it now if you are going to use below : Snapshot | State Sync (because your node shouldn't start now... but after the Snapshot | State Sync)
sudo systemctl restart okp4d && journalctl -u okp4d -f --no-hostname -o cat
Top page
(updated every 24 hours)
File name : https://services.okp4-drunemeton-1.okp4.aviaone.com/okp4-drunemeton-1_2024-05-02.tar.gz
Download this filesudo systemctl stop okp4d
cp $HOME/.okp4d/data/priv_validator_state.json $HOME/.okp4d/priv_validator_state.json.backup
okp4d tendermint unsafe-reset-all --home $HOME/.okp4d --keep-addr-book
wget -c https://services.okp4-drunemeton-1.okp4.aviaone.com/okp4-drunemeton-1_2024-05-02.tar.gz -O - | tar -xz -C $HOME/.okp4d
mv $HOME/.okp4d/priv_validator_state.json.backup $HOME/.okp4d/data/priv_validator_state.json
sudo systemctl start okp4d && sudo journalctl -u okp4d -f --no-hostname -o cat
Please be sure to use the latest binary version :
sed -i "/\[statesync\]/, /^enable =/ s/=.*/= false/;\
/^rpc_servers =/ s|=.*|= \"\"|;\
/^trust_height =/ s/=.*/= 0/;\
/^trust_hash =/ s/=.*/= \"\"/" $HOME/.okp4d/config/config.toml
sudo systemctl stop okp4d
SNAP_RPC="https://rpc.okp4-drunemeton-1.okp4.aviaone.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i "/\[statesync\]/, /^enable =/ s/=.*/= true/;\
/^rpc_servers =/ s|=.*|= \"$SNAP_RPC,$SNAP_RPC\"|;\
/^trust_height =/ s/=.*/= $BLOCK_HEIGHT/;\
/^trust_hash =/ s/=.*/= \"$TRUST_HASH\"/" $HOME/.okp4d/config/config.toml
sudo systemctl stop okp4d && okp4d tendermint unsafe-reset-all --home $HOME/.okp4d --keep-addr-book
sudo systemctl start okp4d && journalctl -u okp4d -f --no-hostname -o cat
Watch your logs and be patient it can take 5 minutes.... !!
With the command used just above, your node just started, now BE PATIENT your node has started to work and will need time to get synced on the last block.
First check your logs and have a look at what's going on !
You should see some output like this which confirm that your node is indexing blocks
### indexed block exents height= module=txindex
How to check if your node is already fully synced? ?
okp4d status 2>&1 | jq .SyncInfo
The current block number is : and the last block app hash is :
true mean syncing on the way, and true is NOT SYNCED
You will see an output with :
"catching_up": false
If you get true instead of false, please wait... it's not done yet, it's on the way...
true mean syncing on the way, and true is NOT SYNCED
The current block number is : and the last block app hash is :
Top pageWhy it's better to get synced before to create or recover a wallet ?
Because when your wallet will be created or recovered, if you are not synced, you will not be able to check the balance !
Create Wallet
okp4d keys add name_wallet
Recover Wallet
okp4d keys add name_wallet --recover
Top page
Create your validator if you are not synced, you will get some troubles...
okp4d tx staking create-validator \
--amount=1000000uknow \
--pubkey=$(okp4d tendermint show-validator) \
--moniker="YOUR_NICKNAME" \
--chain-id=okp4-drunemeton-1 \
--commission-rate=0.05 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.02 \
--min-self-delegation=1 \
--website="https://your-website.com" \
--identity="keyBASE_id" \
--details="This is will be display in the blockchain explorer. Write here something about you"\
--gas-prices=0.1uknow \
--gas-adjustment=1.5 \
--gas=auto \
--from=WRITE_HERE_YOUR_WALLET_ADDRESS
Top page
Congratulations, your made all the steps above necessary to setup the node for OKP4 (chain-id=okp4-drunemeton-1) with success and your node is already online now.
okp4d q bank balances YOUR_WALLET_NUMBER
Must return false to get synced
okp4d status 2>&1 | jq .SyncInfo
journalctl -u okp4d -f --no-hostname -o cat
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx gov vote 14 yes --from YOUR_WALLET_NUMBER --chain-id okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx slashing unjail --chain-id=okp4-drunemeton-1 --from YOUR_WALLET_NUMBER -y
sudo systemctl restart okp4d && journalctl -u okp4d -f --no-hostname -o cat
okp4d q bank balances YOUR_WALLET_NUMBER
okp4d keys add YOUR_WALLER_NAME
okp4d keys add YOUR_WALLET_NUMBER --recover
okp4d keys list
okp4d keys delete YOUR_WALLET_NUMBER
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx gov vote 14 yes --from YOUR_WALLET_NUMBER --chain-id okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx gov vote 14 no --from YOUR_WALLET_NUMBER --chain-id okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx gov vote 14 no_with_veto --from YOUR_WALLET_NUMBER --chain-id okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx gov vote 14 abstain --from YOUR_WALLET_NUMBER --chain-id okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d query gov proposals
(In some case that's necessary to add "fees" or --gas=auto)
okp4d query gov proposal 14
(In some case that's necessary to adjust : "deposit" or "fees" or --gas=auto)
okp4d tx gov submit-proposal \
--from YOUR_WALLET_NUMBER \
--chain-id okp4-drunemeton-1 \
--deposit=100000000uknow \
--type="Text" \
--title="Write here the title of your proposal for Okp4" \
--description="Describe here with details your proposal for Okp4" \
--fees=10000uknow \
--gas=auto \
-y
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx slashing unjail --chain-id=okp4-drunemeton-1 --from YOUR_WALLET_NUMBER -y
okp4d keys show YOUR_WALLET_NUMBER --bech val -a
okp4d query staking validator YOUR_VALIDATOR_VALOPER --output json
okp4d q staking validator $(okp4d keys show YOUR_WALLET_NUMBER --bech val -a)
okp4d query slashing signing-info $(okp4d tendermint show-validator)
okp4d status 2>&1 | jq .ValidatorInfo
okp4d 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
okp4d q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
okp4d tx staking edit-validator \
--new-moniker="Replace AVIAONE by your name" \
--identity=YOUR_KEYBASE_ID \
--details="This is will be display in the blockchain explorer. Write here something about you" \
--chain-id=okp4-drunemeton-1 \
--commission-rate=0.1 \
--from=YOUR_WALLET_NUMBER \
--gas-prices=0.1uknow \
--gas-adjustment=1.5 \
--gas=auto \
-y
(NEVER DO IT if you are not already synced with the latest block)
okp4d tx staking create-validator \
--amount=1000000uknow \
--pubkey=$(okp4-drunemeton-1 tendermint show-validator) \
--moniker="Replace AVIAONE by your name" \
--identity=YOUR_KEYBASE_ID \
--details="This is will be display in the blockchain explorer. Write here something about you" \
--chain-id=okp4-drunemeton-1 \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=YOUR_WALLET_NUMBER \
--gas-prices=0.1uknow \
--gas-adjustment=1.5 \
--gas=auto \
-y
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx bank send WALLET_SENDER WALLET_RECEIVER 1000000uknow --chain-id=okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx staking delegate WALLET_NUMBER_WHERE_YOU_WANT_DELEGATE 1000000uknow --from YOUR_WALLET_NUMBER --chain-id=okp4-drunemeton-1
(In some case that's necessary to add "fees" or --gas=auto)
okp4d tx staking delegate YOUR_VALIDATOR_NUMBER 1000000uknow --from YOUR_WALLET_NUMBER --chain-id=okp4-drunemeton-1
okp4d tx distribution withdraw-all-rewards --from YOUR_WALLET_NUMBER
okp4d tx distribution withdraw-rewards YOUR_VALIDATOR_NUMBER --from YOUR_WALLET_NUMBER --commission
Under contruction
Under contruction
Under contruction
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uknow\"/" $HOME/.okp4d/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.okp4d/config/config.toml
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.okp4d/config/config.toml
echo $(okp4d tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.okp4d/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
curl -sS https://rpc.okp4-drunemeton-1.okp4.aviaone.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
YOU ARE GOING TO DELETE EVERYTHING WITHOUT ANY POSSIBILITY TO RECOVER, be sure that's really you are looking for...
BEFORE BE SURE TO SAVE $HOME/.okp4d/config/priv_validator_key.json
This file $HOME/.okp4d/config/priv_validator_key.json will let you create a new node with the same validator
cd $HOME
sudo systemctl stop okp4d
sudo systemctl disable okp4d
sudo rm /etc/systemd/system/okp4d.service
sudo systemctl daemon-reload
rm -f $(which okp4d)
rm -rf $HOME/.okp4d
rm -rf $HOME/okp4d
curl -sS https://rpc.okp4-drunemeton-1.okp4.aviaone.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
PEERS="b199bc44f7a4ed22ae70eec65eafcabe3e2be1ab@178.18.251.173:26656,0fa7bfd908520a739f8237c88346e3a9e00f48cc@142.132.202.92:26956,d698ea5fe6d804bad0e9f129ce7229fb168d92d6@65.21.32.216:46656,8ebe538b359facc82e726d98957cf7455629f42d@217.160.102.31:26636"
sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $HOME/.okp4d/config/config.toml
SEEDS="258f523c96efde50d5fe0a9faeea8a3e83be22ca@seed.okp4-drunemeton-1.okp4.aviaone.com:10289,a7f1dcf7441761b0e0e1f8c6fdc79d3904c22c01@seeds.cros-nest.com:36656"
sed -i -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/.okp4d/config/config.toml
(updated every 4 hours)
curl -Ls https://services.okp4-drunemeton-1.okp4.aviaone.com/addrbook.json > $HOME/.okp4d/config/addrbook.json
(updated every 4 hours)
curl -Ls https://services.okp4-drunemeton-1.okp4.aviaone.com/genesis.json > $HOME/.okp4d/config/genesis.json
(updated every 24 hours)
File name : https://services.okp4-drunemeton-1.okp4.aviaone.com/okp4-drunemeton-1_2024-05-02.tar.gz
Please be sure to use the latest binary version.
One last minute version can be published ! Please check by yourself here... and compare with your node okp4d version
sudo systemctl stop okp4d
cp $HOME/.okp4d/data/priv_validator_state.json $HOME/.okp4d/priv_validator_state.json.backup
okp4d tendermint unsafe-reset-all --home $HOME/.okp4d --keep-addr-book
wget -c https://services.okp4-drunemeton-1.okp4.aviaone.com/okp4-drunemeton-1_2024-05-02.tar.gz -O - | tar -xz -C $HOME/.okp4d
mv $HOME/.okp4d/priv_validator_state.json.backup $HOME/.okp4d/data/priv_validator_state.json
sudo systemctl start okp4d && sudo journalctl -u okp4d -f --no-hostname -o cat
Please be sure to use the latest binary version :
sed -i "/\[statesync\]/, /^enable =/ s/=.*/= false/;\
/^rpc_servers =/ s|=.*|= \"\"|;\
/^trust_height =/ s/=.*/= 0/;\
/^trust_hash =/ s/=.*/= \"\"/" $HOME/.okp4d/config/config.toml
sudo systemctl stop okp4d
SNAP_RPC="https://rpc.okp4-drunemeton-1.okp4.aviaone.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i "/\[statesync\]/, /^enable =/ s/=.*/= true/;\
/^rpc_servers =/ s|=.*|= \"$SNAP_RPC,$SNAP_RPC\"|;\
/^trust_height =/ s/=.*/= $BLOCK_HEIGHT/;\
/^trust_hash =/ s/=.*/= \"$TRUST_HASH\"/" $HOME/.okp4d/config/config.toml
sudo systemctl stop okp4d && okp4d tendermint unsafe-reset-all --home $HOME/.okp4d --keep-addr-book
sudo systemctl start okp4d && journalctl -u okp4d -f --no-hostname -o cat
Watch your logs and be patient it can take 5 minutes.... !!
That's an easy process, just click and follow the instructions...it will be done in 10 seconds !
Our platform offers a secure link that allows you to effortlessly connect your KEPLR wallet. The process is quick and easy. Adding a new chain to your wallet is a standard procedure that doesn't involve any transaction. It simply requires your approval. To get started, click on the button below to add this chain to your wallet and start interacting with the blockchain.