OKP4 node guide
About project:
OKP4 is a domain-specific layer-1 dedicated to trust-minimized data sharing.
The blockchain orchestrates assets shared by participants into the Dataverse: data, algorithms, software, storage and computation to enable a new generation of applications. Any contributor earns rewards thanks to these new value chains.
Roadmap (2023):
Phases of testnet:
Phase 1 — Sidh (Onboarding) DEC 01 — JAN 01
This first phase is pretty basic; it is dedicated to setting up Druids’ validator environment, participating in the genesis, and getting familiar with the OKP4 testnet.
The second phase is focused on testing Druids’ performance and uptime. Maintenance tasks and upgrades will be performed to test different kinds of state migrations.
The third phase is all about token dynamics! Druids will engage in various node and community tasks with their precious tokens. Challenges will include some IBC-related tasks to open Nemeton to the interchain world…
The fourth phase is war it will incentivize Druids to test the upper bounds of the testnet through a series of tasks including coordinated strikes, governance attacks, and data-related high-load tasks such as data upload & usage congestion. This phase will also enable us to simulate emergency updates.
The last phase will open a new chapter for the Nemeton testnet. It will open its gates for builders to join the community of Druids, expanding our community way beyond validators!
Tokenomics:
Total initial supply: 200,000,000 $KNOW
Maximum supply: 350,000,000 $KNOW (including block rewards, reached after 80 years)
Node
Server requirements:
I rent CPX31 on Hetzner and add the disk space (how to do it here)
sudo apt update sudo apt install
Install go (version 19+ is needed)
wget -c https://golang.org/dl/go1.19.2.linux-amd64.tar.gz sudo tar -C /usr/local -xvzf go1.19.2.linux-amd64.tar.gz export GOROOT=/usr/local/go export GOPATH=$HOME/go export GO111MODULE=on export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin source ~/.profile go version rm -rf go1.19.2.linux-amd64.tar.gz
apt install make unzip jq git
Node installation:
mkdir okp4 #make directory okp4 cd okp4 #go to the directory okp4 wget -P /root/okp4 https://github.com/okp4/okp4d/archive/refs/heads/main.zip #download the repository unzip main.zip #unzip main.zip rm main.zip #delete zip cd okp4d-main #go to the directory okp4d-main sudo apt install build-essential make build install okp4d version CHAIN_ID=okp4-nemeton-1 #declare a variable MONIKER="SmartHamster" #change SmartHamster on your name of node okp4d init $MONIKER --chain-id $CHAIN_ID #initialize the node
cd /root/.okp4d/config rm genesis.json wget genesis.json https://raw.githubusercontent.com/okp4/networks/main/chains/nemeton-1/genesis.json
PEERS="[email protected]:36656,[email protected]:36656,[email protected]:36656,[email protected]:26656,[email protected]:36656,[email protected]:26656,[email protected]:17656,[email protected]:31656,[email protected]:21656,[email protected]:28656,[email protected]:51656,[email protected]:26656,[email protected]:26646,[email protected]:26656,[email protected]:33656,[email protected]:36656" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.okp4d/config/config.toml
okp4d start
Now the node does not work as a service, we need to create a service file so that it worked in the background when we close the terminal:
sudo tee /etc/systemd/system/okp4d.service > /dev/null <<EOF
[Unit] Description=Okp4 Node After=network.target [Service] User=$USER Type=simple ExecStart=/root/go/bin/okp4d start Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
cd okp4/okp4d-main sudo cp ./target/dist/okp4d /usr/local/bin/ || exit
sudo systemctl daemon-reload sudo systemctl enable okp4d sudo systemctl restart okp4d sudo systemctl status okp4d
journalctl -u okp4d -f -o cat
View the synchronization process (false - the node is synchronized):
curl http://localhost:26657/status | jq .result.sync_info.catching_up
After your node is fully synchronized, you can proceed to create a validator:
okp4d keys add wallet #create wallet - SAVE MNEMONIC!!!
We go to the tap and ask for coins
Now the transaction to create the validator:
okp4d tx staking create-validator \ --amount=1000000uknow \ --pubkey=$(okp4d tendermint show-validator) \ --moniker="<NODENAME>" \ --chain-id=okp4-nemeton \ --commission-rate="0.01" \ --commission-max-rate="0.10" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1000000" \ --fees=1000uknow \ --from=wallet \ -y #change <NODENAME> on name of your node
okp4d tx distribution withdraw-rewards $(okp4d keys show wallet --bech val -a) --commission --from wallet --chain-id okp4-nemeton-1 --gas-prices 0.1uknow --gas-adjustment 1.5 --gas auto -y
okp4d tx staking delegate $(okp4d keys show wallet --bech val -a) 259000000uknow --from wallet --chain-id okp4-nemeton-1 --gas-prices 0.1uknow --gas-adjustment 1.5 --gas auto -y
Thank you for your attention and congratulations with the new node! With love, your @kulikovae!