Makseviisid Abuse

Ojo. Sõlme paigaldamine

09.09.2024, 18:15

Ojo on turvalisusele keskendunud detsentraliseeritud oraaklivõrk, mis on loodud Cosmose ökosüsteemi toetamiseks. Ojo kogub hinnakujundusandmeid erinevatest allikatest nii ahelas kui ka väljaspool ahelat ning kasutab täiustatud turvamehhanisme, et tagada esitatud andmete terviklikkus.

Minimaalsed nõuded riistvarale

Sõlme tüüp

CPU

RAM

Salvestusruum

Testnet

4

8 GB

150GB

Automaatne paigaldusskript

wget -O ojjo https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/ojjo && chmod +x ojjo && ./ojjo

Käsitsi paigaldamine

Serveri ettevalmistamine

sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

GO 1.21.6 paigaldamine

ver="1.21.6"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version

Build 06.03.23

cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/ojo-network/ojo
cd ojo
git checkout v0.1.2
make install
ojod version --long | grep -e version -e commit
version: HEAD-ad5a2377134aa13d7d76575b95613cf8ed12d1e4
commit: ad5a2377134aa13d7d76575b95613cf8ed12d1e4

Initsialiseerimine

ojod init STAVR_guide --chain-id=ojo-devnet
ojod config chain-id ojo-devnet

Rahakoti loomine/taastamine

ojod keys add <walletname>
või
ojod keys add <walletname> --recover

Genesis'i laadimine

wget -O $HOME/.ojo/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/genesis.json"
sha256sum $HOME/.ojo/config/genesis.json
6037d1c1a89110c024fc18143eafe33fee19671b9427a4d4ac9c701f7a3c9309

Configure Minimum Gas Price, Peers/Sids/Peer Filter/MaxPeers

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = "0.0uojo"/;" ~/.ojo/config/app.toml
external_address=$(wget -qO- eth0.me) 
sed -i.bak -e "s/^external_address *=.*/external_address = "$external_address:26656"/" $HOME/.ojo/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.ojo/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = "$seeds"/" $HOME/.ojo/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.ojo/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.ojo/config/config.toml

Pruunistamise seadistamine (valikuline)

pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = "$pruning"/" $HOME/.ojo/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "$pruning_keep_recent"/" $HOME/.ojo/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = "$pruning_keep_every"/" $HOME/.ojo/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "$pruning_interval"/" $HOME/.ojo/config/app.toml

Indekseerija seadistamine (valikuline)

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.ojo/config/config.toml

Addrbooki üleslaadimine

wget -O $HOME/.ojo/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/addrbook.json"

Teenusefaili loomine

sudo tee /etc/systemd/system/ojod.service > /dev/null <<EOF
[Unit]
Description=ojo
After=network-online.target
[Service]
User=$USER
ExecStart=$(which ojod) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

StateSync for Ojo Testnet

SNAP_RPC=https://ojo.rpc.t.stavr.tech:443
peers="1f091cf9567c0d72a0f93877007379e0298b8860@ojo.peer.stavr.tech:37096"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.ojo/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); 
BLOCK_HEIGHT=$((LATEST_HEIGHT - 100)); 
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.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"| ; 
s|^(seeds[[:space:]]+=[[:space:]]+).*$|1""|" $HOME/.ojo/config/config.toml
ojod tendermint unsafe-reset-all --home /root/.ojo
wget -O $HOME/.ojo/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/addrbook.json"
sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = "1500"/" $HOME/.ojo/config/app.toml
sudo systemctl restart ojod && journalctl -fu ojod -o cat

SnapShot Testnet uuendab iga 5 tunni järel

cd $HOME
apt install lz4
sudo systemctl stop ojod
cp $HOME/.ojo/data/priv_validator_state.json $HOME/.ojo/priv_validator_state.json.backup
rm -rf $HOME/.ojo/data
curl -o - -L https://ojo.snapshot.stavr.tech/ojo-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.ojo --strip-components 2
mv $HOME/.ojo/priv_validator_state.json.backup $HOME/.ojo/data/priv_validator_state.json
wget -O $HOME/.ojo/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/addrbook.json"
sudo systemctl restart ojod && journalctl -fu ojod -o cat

Käivitamine

sudo systemctl daemon-reload
sudo systemctl enable ojod 
sudo systemctl restart ojod && sudo journalctl -fu ojod -o cat

Loo valideerija

ojod tx staking create-validator 
 --amount 1000000uojo 
 --from WalletName 
 --commission-max-change-rate "0.1" 
 --commission-max-rate "0.2" 
 --commission-rate "0.1" 
 --min-self-delegation "1" 
 --pubkey  $(ojod tendermint show-validator) 
 --moniker "STAVR_guide" 
 --chain-id ojo-devnet 
 --identity="" 
 --details="" 
 --website="" -y

Sõlme kustutamine

sudo systemctl stop ojod
sudo systemctl disable ojod
rm /etc/systemd/system/ojod.service
sudo systemctl daemon-reload
cd $HOME
rm -rf ojo
rm -rf .ojo
rm -rf $(which ojod)

Kasulikud käsud

Teave

ojod status 2>&1 | jq .NodeInfo
ojod status 2>&1 | jq .SyncInfo
ojod status 2>&1 | jq .ValidatorInfo

Logide kontrollimine

sudo journalctl -fu ojod -o cat

Teenuse oleku kontrollimine

sudo systemctl status ojod

Teenuse taaskäivitamine

sudo systemctl restart ojod

Teenuse peatamine

sudo systemctl stop ojod

Teenuse käivitamine

sudo systemctl start ojod

Teenuse taaskäivitamine/väljalülitamine/katkestamine

sudo systemctl daemon-reload
sudo systemctl disable ojod 
sudo systemctl enable ojod

Teie partner

echo $(ojod tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.ojo/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Töö võtmetega

Uus võti või võtme taastamine

ojod keys add Wallet_Name
или
ojod  keys add Wallet_Name --recover

Kõigi võtmete kontrollimine

ojod keys list

Saldo kontrollimine

ojod query bank balances address....jkl1yjgn7z09ua9vms259j

Võtme kustutamine

ojod keys delete Wallet_Name

Võtme eksportimine

ojod keys export wallet

Võtme importimine

ojod keys import wallet wallet.backup

Töötamine valideerijaga

Validaatori redigeerimine

ojod tx staking edit-validator 
--new-moniker "Your_Moniker" 
--identity "Keybase_ID" 
--details "Your_Description" 
--website "Your_Website" 
--security-contact "Your_Email" 
--chain-id ojo-devnet 
--commission-rate 0.05 
--from Wallet_Name 
--gas 350000 -y

Teie Valoper-aadress

ojod keys show Wallet_Name --bech val

Teie Valoper-aadress

ojod tendermint show-address

Validaatori teave

ojod query staking validator valoperaddress......
Jail Info
ojod query slashing signing-info $(ojod tendermint show-validator)
Unjail
ojod  tx slashing unjail --from Wallet_name --chain-id ojo-devnet --gas 350000  -y

Aktiivsete valideerijate nimekiri

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

Mitteaktiivsete valideerijate nimekiri

ojod 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

Valideerimine võtme suhtes (Win - Good. Lose - Bad)

VALOPER=Enter_Your_valoper_Here
[[ $(ojod q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(ojod status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "nYou winn" || echo -e "nYou losen"

Kõigi valideerijate kõigi preemiate väljastamine

ojod tx distribution withdraw-all-rewards --from Wallet_Name --chain-id ojo-devnet --gas 350000 -y

Oma valideerijalt saadud preemiate ja komisjonitasude väljastamine

ojod tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet --commission -y

Märkide delegeerimine oma valideerijale

ojod tx staking delegate Your_valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Märkide delegeerimine teisele valideerijale

ojod tx staking delegate valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Märgiste uuesti delegeerimine teisele valideerijale

ojod tx staking redelegate Your_valoper........ valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Märkide sidumine teie valideerijalt või teiselt valideerijalt

ojod tx staking unbond Your_valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
ojod tx staking unbond valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Märgiste ülekandmine ühest rahakotist teise.

ojod tx bank send Your_address............ address........... "1000000000000000000"uojo --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Juhtimine

Vaata kõiki pakkumisi

ojod query gov proposals

Vaadake konkreetset ettepanekut

ojod query gov proposal 1

Ettepaneku poolt hääletamine

ojod tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Ettepaneku vastu hääletamine

ojod tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Hääletamisest hoidumine

ojod tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y

Vastu hääletamine vetoõigusega

ojod tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y