{"id":13566603,"url":"https://github.com/appieasahbie/okp4","last_synced_at":"2025-04-04T00:31:18.291Z","repository":{"id":163444540,"uuid":"557922349","full_name":"appieasahbie/okp4","owner":"appieasahbie","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-20T13:03:45.000Z","size":65,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-01T13:36:41.006Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appieasahbie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-26T14:57:03.000Z","updated_at":"2023-03-18T19:44:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"30e4263f-ca05-4f9b-b4de-d3cc49fd4183","html_url":"https://github.com/appieasahbie/okp4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appieasahbie%2Fokp4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appieasahbie%2Fokp4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appieasahbie%2Fokp4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appieasahbie%2Fokp4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appieasahbie","download_url":"https://codeload.github.com/appieasahbie/okp4/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223067258,"owners_count":17082250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:02:12.890Z","updated_at":"2024-11-04T20:32:19.444Z","avatar_url":"https://github.com/appieasahbie.png","language":"Shell","funding_links":["https://www.paypal.com/paypalme/AbdelAkridi?country.x=NL\u0026locale.x=en_US"],"categories":["Shell"],"sub_categories":[],"readme":"# Okp4 Node Setup :\n\n\n![download](https://user-images.githubusercontent.com/108979536/198153396-8bc7304c-a5d2-4b10-a9bb-13e52ba5afd0.jpg)\n\n### OKP4 Protocol\nOKP4 is a domain-specific layer-1 dedicated to trust-minimized data sharing.\nThe blockchain orchestrates assets shared by participants into the Dataverse: data, algorithms, software, storage and computation to enable a new generation of applications.\nAny contributor earns rewards thanks to these new value chains.\n\n# Official links :\n\n  + Discord : [link](https://discord.gg/d6QfUzHR)\n\n  + Website : [link](https://okp4.network/)\n\n  + Twitter : [link](https://twitter.com/OKP4_Protocol)\n\n  + Github : [link](https://github.com/okp4)\n\n\n\n# Hardware Requirements\n\n### Minimum Hardware Requirements\n\n + 4x CPUs; the faster clock speed the better\n \n+  8GB RAM\n \n+ 100GB of storage (SSD or NVME)\n\n### Recommended Hardware Requirements\n\n+ 8x CPUs; the faster clock speed the better\n\n+ 64GB RAM\n \n+  1TB of storage (SSD or NVME)\n\n\n### 1-ɪɴᴛᴀʟʟᴀᴛɪᴏɴ ᴏɴᴇ ᴛɪᴍᴇ (ꜱᴄʀɪᴘᴛ ᴀᴜᴛᴏᴍᴀᴛɪᴄ ɪɴꜱᴛᴀʟʟᴀᴛɪᴏɴ)\n\n\n      wget -O okp4.sh https://raw.githubusercontent.com/appieasahbie/okp4/main/okp4.sh \u0026\u0026 chmod +x okp4.sh \u0026\u0026 ./okp4.sh\n      \n###  Post installation\n\n      source $HOME/.bash_profile\n      \n### (Check the status of your node)\n\n      okp4d status 2\u003e\u00261 | jq .SyncInfo\n      \n### open ports and active the firewall\n\n      sudo ufw default allow outgoing\n      sudo ufw default deny incoming\n      sudo ufw allow ssh/tcp\n      sudo ufw limit ssh/tcp\n      sudo ufw allow ${OKP4_PORT}656,${OKP4_PORT}660/tcp\n      sudo ufw enable\n      \n###  Create wallet\n\n  + (Please save all keys on your notepad)\n\n        okp4d keys add $WALLET\n   \n  + To recover your old wallet use this command\n \n        okp4d keys add $WALLET --recover\n        \n  + show keys \n  \n        okp4d keys list\n        \n### Add wallet and valoper address and load variables into the system\n\n        OKP4_WALLET_ADDRESS=$(okp4d keys show $WALLET -a)\n        OKP4_VALOPER_ADDRESS=$(okp4d keys show $WALLET --bech val -a)\n        echo 'export OKP4_WALLET_ADDRESS='${OKP4_WALLET_ADDRESS} \u003e\u003e $HOME/.bash_profile\n        echo 'export OKP4_VALOPER_ADDRESS='${OKP4_VALOPER_ADDRESS} \u003e\u003e $HOME/.bash_profile\n        source $HOME/.bash_profile\n        \n   \n### Fund your wallet (to create validator) [link faucet](https://faucet.okp4.network)\n\n\n### Create validator (after recieving of tokens and must important sync is false)\n\n  + replace \u003cwallet\u003e with your wallet name and \u003cmoniker\u003e with your validator name\n  \n\n         okp4d tx staking create-validator \\\n         --amount 100000uknow \\\n         --from WALLETNAME \\\n         --commission-max-change-rate \"0.01\" \\\n         --commission-max-rate \"0.2\" \\\n         --commission-rate \"0.05\" \\\n         --min-self-delegation \"1\" \\\n         --pubkey  $(okp4d tendermint show-validator) \\\n         --moniker NODENAME \\\n         --chain-id okp4-nemeton\n  \n  \n # Snapchot optional (PPNV)\n \n   ### install dependencies, if needed\n   \n      sudo systemctl stop okp4d\n      cp $HOME/.okp4d/data/priv_validator_state.json $HOME/.okp4d/priv_validator_state.json.backup\n      okp4d tendermint unsafe-reset-all --home $HOME/.okp4d\n      STATE_SYNC_RPC=http://rpc.okp.ppnv.space:36657\n      STATE_SYNC_PEER=be9841ace1d71a4c7681918ee39f5e00d8e96a82@rpc.okp.ppnv.space:36656\n      LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)\n      SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 1000))\n      SYNC_BLOCK_HASH=$(curl -s \"$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT\" | jq -r .result.block_id.hash)\n      sed -i.bak -e \"s|^enable *=.*|enable = true|\" $HOME/.okp4d/config/config.toml\n      sed -i.bak -e \"s|^rpc_servers *=.*|rpc_servers = \\\"$STATE_SYNC_RPC,$STATE_SYNC_RPC\\\"|\" \\\n      $HOME/.okp4d/config/config.toml\n      sed -i.bak -e \"s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|\" \\\n      $HOME/.okp4d/config/config.toml\n      sed -i.bak -e \"s|^trust_hash *=.*|trust_hash = \\\"$SYNC_BLOCK_HASH\\\"|\" \\\n      $HOME/.okp4d/config/config.toml\n      sed -i.bak -e \"s|^persistent_peers *=.*|persistent_peers = \\\"$STATE_SYNC_PEER\\\"|\" \\\n      $HOME/.okp4d/config/config.toml\n      mv $HOME/.okp4d/priv_validator_state.json.backup $HOME/.okp4d/data/priv_validator_state.json\n      sudo systemctl restart okp4d \u0026\u0026 journalctl -u okp4d -f --no-hostname -o cat\n\n\n\n### Delegate to yourself\n\n      okp4d tx staking delegate $(okp4d keys show wallet --bech val -a) 1000000uknow --from wallet --chain-id okp4-nemeton --gas-prices 0.1uknow --gas-adjustment 1.5 --gas auto -y \n      \n \n ### Redelegate\n \n      okp4d tx staking redelegate $(okp4d keys show wallet --bech val -a) \u003cTO_VALOPER_ADDRESS\u003e 1000000uknow --from wallet --chain-id okp4-nemeton --gas-prices 0.1uknow --gas-adjustment 1.5 --gas auto -y \n     \n ### Get Validator Info\n\n     okp4d status 2\u003e\u00261 | jq .ValidatorInfo\n\n### Get Catching Up\n\n     okp4d status 2\u003e\u00261 | jq .SyncInfo.catching_up\n \n### Get Latest Height\n\n     okp4d status 2\u003e\u00261 | jq .SyncInfo.latest_block_height\n\n## Get Peer\n\n     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/\".*//')\n\n### Reset Node\n\n    okp4d tendermint unsafe-reset-all --home $HOME/.okp4d --keep-addr-book\n\n### Remove Node\n\n    sudo systemctl stop okp4d \u0026\u0026 sudo systemctl disable okp4d \u0026\u0026 sudo rm /etc/systemd/system/okp4d.servi\n     \n###  Run Service\n\n    sudo systemctl start okp4d\n\n### Stop Service\n\n    sudo systemctl stop okp4d\n\n### Restart Service\n\n    sudo systemctl restart okp4d\n\n### Check Service Status\n\n    sudo systemctl status okp4d\n\n### Check Service Logs\n\n   sudo journalctl -u okp4d -f --no-hostname -o cat     \n\n### Delete the node \n\n    sudo systemctl stop okp4d\n    sudo systemctl disable okp4d\n    sudo rm /etc/systemd/system/okp4* -rf\n    sudo rm $(which okp4d) -rf\n    sudo rm $HOME/.okp4d* -rf\n    sudo rm $HOME/okp4 -rf\n    sed -i '/OKP4_/d' ~/.bash_profile\n\n\n    \n[buy me a cup of coffe ](https://www.paypal.com/paypalme/AbdelAkridi?country.x=NL\u0026locale.x=en_US)   \n     \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappieasahbie%2Fokp4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappieasahbie%2Fokp4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappieasahbie%2Fokp4/lists"}