Ojo, Cosmos ekosistemini desteklemek için tasarlanmış, güvenlik odaklı, merkezi olmayan bir oracle ağıdır. Ojo, fiyatlandırma verilerini hem zincir içi hem de zincir dışı çeşitli kaynaklardan toplar ve sağlanan verilerin bütünlüğünü sağlamak için gelişmiş güvenlik mekanizmaları kullanır.
Minimum donanım gereksinimleri
|
Düğüm tipi |
CPU |
RAM |
Depolama |
|
Testnet |
4 |
8GB |
150GB |
Otomatik kurulum komut dosyası
wget -O ojjo https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/ojjo && chmod +x ojjo && ./ojjo
Manuel kurulum
Sunucu hazırlığı
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 kurulumu
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
Derleme 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
Başlatma
ojod init STAVR_guide --chain-id=ojo-devnet ojod config chain-id ojo-devnet
Cüzdan oluşturma/geri yükleme
ojod keys add <walletname> veya ojod keys add <walletname> --recover
Genesis yükleniyor
wget -O $HOME/.ojo/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/genesis.json"
sha256sum $HOME/.ojo/config/genesis.json
6037d1c1a89110c024fc18143eafe33fee19671b9427a4d4ac9c701f7a3c9309
Minimum Gaz Fiyatını Yapılandırma, 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
Budama Ayarı (isteğe bağlı)
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
Dizinleyici kurulumu (isteğe bağlı)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.ojo/config/config.toml
Addrbook yükleniyor
wget -O $HOME/.ojo/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Ojo/addrbook.json"
Servis dosyası oluşturma
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
Ojo Testnet için StateSync
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 her 5 saatte bir güncellenir
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
Başlangıç
sudo systemctl daemon-reload
sudo systemctl enable ojod
sudo systemctl restart ojod && sudo journalctl -fu ojod -o cat
Doğrulayıcı oluştur
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
Düğüm silme
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)
Yararlı komutlar
Bilgi
ojod status 2>&1 | jq .NodeInfo
ojod status 2>&1 | jq .SyncInfo
ojod status 2>&1 | jq .ValidatorInfo
Günlükleri kontrol edin
sudo journalctl -fu ojod -o cat
Servis durumunu kontrol edin
sudo systemctl status ojod
Hizmeti yeniden başlat
sudo systemctl restart ojod
Hizmeti durdurma
sudo systemctl stop ojod
Hizmet başlangıcı
sudo systemctl start ojod
Hizmeti yeniden başlatma/devre dışı bırakma/kesme
sudo systemctl daemon-reload
sudo systemctl disable ojod
sudo systemctl enable ojod
Akranınız
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/".*//')
Anahtarlarla çalışma
Yeni anahtar veya anahtar kurtarma
ojod keys add Wallet_Name
или
ojod keys add Wallet_Name --recover
Tüm anahtarları kontrol edin
ojod keys list
Bakiye kontrolü
ojod query bank balances address....jkl1yjgn7z09ua9vms259j
Bir anahtarı silme
ojod keys delete Wallet_Name
Dışa aktarma anahtarı
ojod keys export wallet
İçe aktarma anahtarı
ojod keys import wallet wallet.backup
Doğrulayıcı ile çalışma
Doğrulayıcıyı Düzenle
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
Valoper-Adresiniz
ojod keys show Wallet_Name --bech val
Valcons-Adresiniz
ojod tendermint show-address
Doğrulayıcı bilgileri
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
Etkin doğrulayıcıların listesi
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
Etkin olmayan doğrulayıcıların listesi
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
Anahtara karşı doğrulama (Kazan - İyi. Kaybet - Kötü)
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"
Tüm doğrulayıcılardan gelen tüm ödüllerin çıktısı
ojod tx distribution withdraw-all-rewards --from Wallet_Name --chain-id ojo-devnet --gas 350000 -y
Onaylayıcınızdan ödül ve komisyon çıktısı alın
ojod tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet --commission -y
Belirteçlerin doğrulayıcınıza devredilmesi
ojod tx staking delegate Your_valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Belirteçleri başka bir doğrulayıcıya delege etme
ojod tx staking delegate valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Belirteçleri başka bir doğrulayıcıya yeniden devretme
ojod tx staking redelegate Your_valoper........ valoper........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Doğrulayıcınızdan veya başka bir doğrulayıcıdan anbonding tokenleri
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
Tokenların bir cüzdandan diğerine aktarılması.
ojod tx bank send Your_address............ address........... "1000000000000000000"uojo --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Yönetişim
Tüm teklifleri görüntüle
ojod query gov proposals
Belirli bir teklifi görüntüleyin
ojod query gov proposal 1
Bir teklif lehine oy kullanmak
ojod tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Bir teklife karşı oy kullanmak
ojod tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Çekimser oy kullanma
ojod tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
Veto yetkisi ile karşı oy kullanma
ojod tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y