Zahlungsmethoden Abuse

Ojo. Installieren des Knotens

09.09.2024, 18:15

Ojo ist ein sicherheitsorientiertes, dezentrales Orakelnetzwerk, das zur Unterstützung des Cosmos-Ökosystems entwickelt wurde. Ojo sammelt Preisdaten aus einer Vielzahl von Quellen, sowohl innerhalb als auch außerhalb der Kette, und verwendet fortschrittliche Sicherheitsmechanismen, um die Integrität der bereitgestellten Daten zu gewährleisten.

Mindestanforderungen an die Hardware

Node-Typ

CPU

ARBEITSSPEICHER

Speicher

Testnet

4

8GB

150GB

Automatisches Installationsskript

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

Manuelle Installation

Vorbereitung des Servers

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-Installation

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

Initialisierung

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

Wallet erstellen/wiederherstellen

ojod Schlüssel hinzufügen <Walletname>
oder
ojod keys add <Walletname> --recover

Genesis laden

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

Mindestgaspreis, Peers/Sids/Peer-Filter/MaxPeers konfigurieren

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

Pruning einstellen (optional)

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

Indexer einrichten (optional)

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

Hochladen von addrbook

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

Erstellen einer Servicedatei

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 für 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 aktualisiert alle 5 Stunden

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

Starten von

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

Validator erstellen

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

Löschung eines Knotens

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)

Nützliche Befehle

Informationen

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

Protokolle prüfen

sudo journalctl -fu ojod -o cat

Dienststatus prüfen

sudo systemctl status ojod

Dienst neu starten

sudo systemctl restart ojod

Den Dienst stoppen

sudo systemctl stop ojod

Start des Dienstes

sudo systemctl start ojod

Neustart/Deaktivierung/Unterbrechung des Dienstes

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

Ihr Peer

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/".*//')

Arbeiten mit Schlüsseln

Neuer Schlüssel oder Schlüsselwiederherstellung

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

Alle Schlüssel prüfen

ojod keys list

Saldo-Prüfung

ojod query bank balances address....jkl1yjgn7z09ua9vms259j

Löschen eines Schlüssels

ojod keys delete Wallet_Name

Schlüssel exportieren

ojod keys export wallet

Schlüssel importieren

ojod keys import wallet wallet.backup

Arbeiten mit Validator

Validator bearbeiten

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

Ihre Valoper-Adresse

ojod keys show Wallet_Name --bech val

Ihre Valcons-Adresse

ojod tendermint show-address

Prüfer-Informationen

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

Liste der aktiven Prüfer

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

Liste der inaktiven Prüfer

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

Validierung gegen den Schlüssel (Gewinnen - Gut. Verlieren - Schlecht)

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"

Ausgabe aller Rewards von allen Validierern

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

Ausgabe von Rewards und Provisionen von Ihrem Validierer

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

Delegation von Token an Ihren Validierer

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

Delegieren von Token an einen anderen Prüfer

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

Weiterübertragung von Token an einen anderen Prüfer

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

Anbinden von Token von Ihrem Validator oder einem anderen Validator

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

Übertragung von Token von einem Wallet zu einem anderen.

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

Verwaltung

Alle Angebote anzeigen

ojod query gov proposals

Einen bestimmten Vorschlag anzeigen

ojod query gov proposal 1

Für einen Vorschlag stimmen

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

Gegen einen Vorschlag stimmen

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

Enthaltung von der Abstimmung

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

Gegenstimme mit Vetorecht

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