Metodi di pagamento Abuse

Gravità: installare e lavorare con un nodo

07.10.2024, 14:09

Gravity è una blockchain di livello 1 progettata per l'adozione di massa e per il futuro dell'omnichannel. Il suo approccio astrae le complessità tecniche delle interazioni multi-catena integrando tecnologie avanzate come le prove a conoscenza zero, i meccanismi di consenso all'avanguardia e un'architettura rinnovata per offrire prestazioni elevate, maggiore sicurezza ed efficienza dei costi. Gravity serve i 20 milioni di utenti dell'ecosistema Galxe, assicurando un'esperienza senza soluzione di continuità e coinvolgente sulla più grande rete di distribuzione onchain di Web3.

Requisiti minimi di sistema:

Tipo di nodo: Mainnet

CPU: 8

RAM: 16GB

Memoria: 250GB

Installazione del nodo:

1) Installazione automatica.

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

2) Installazione manuale

Preparazione del server

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

Installazione di GO 1.21.6

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

Versione 01.10.24

cd $HOME && mkdir -p go/bin/
mkdir gravity-bin && cd gravity-bin
wget -O gravity https://github.com/Gravity-Bridge/Gravity-Bridge/releases/download/v1.12.0/gravity-linux-amd64
mv gravity-linux-amd64 gravity
wget https://github.com/Gravity-Bridge/Gravity-Bridge/releases/download/v1.12.0/gbt
chmod +x *
mv $HOME/gravity /usr/bin/
mv $HOME/gbt /usr/bin/

Installazione

gravity init STAVR_guide --chain-id gravity-bridge-3
gravity config chain-id gravity-bridge-3
gbt init

Creazione del portafoglio

gravity keys add <wallet_name> --algo secp256k1 --coin-type 118
gravity keys add <wallet_orchestrator_name>
gravity eth_keys add <wallet_eth_name>

Set di chiavi Orchestrator

gbt keys set-ethereum-key --key <your Ethereum PRIVATE key>
gbt keys set-orchestrator-key --phrase "<your mnemonic from orchestrator wallet>"

Installazione di Genesis

wget -O $HOME/.gravity/config/genesis.json "https://raw.githubusercontent.com/111STAVR111/props/main/Gravity/genesis.json"

Impostazione del prezzo minimo del gas e dei Peers/Seeds

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

Potatura (opzionale)

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

Indicizzatore (opzionale)

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

Installazione di addrbook

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

Creazione di un file di servizio

sudo tee /etc/systemd/system/gravity.service > /dev/null <<EOF
[Unit]
Description=gravity
After=network-online.target

[Service]
User=$USER
ExecStart=$(which gravity) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Avvio

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

Creare il file di servizio di Orchestrator

sudo tee /etc/systemd/system/orchestrator.service > /dev/null <<EOF
[Unit]
Description=Gravity Bridge Orchestrator
Requires=network.target
[Service]
Type=simple
TimeoutStartSec=10s
Restart=on-failure
RestartSec=10
ExecStart=$(which gbt) orchestrator 
--fees 5000ugraviton 
--gravity-contract-address 0xa4108aA1Ec4967F8b52220a4f7e94A8201F2D906 
--ethereum-rpc "https://eth.althea.net/"
[Install]
WantedBy=default.target
EOF

Caricare il servizio ed eseguirlo

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

Creare il validatore

gravity tx staking create-validator 
--commission-rate 0.1 
--commission-max-rate 0.2 
--commission-max-change-rate 0.2 
--min-self-delegation "1" 
--amount 1000000000000000000ugraviton 
--pubkey $(gravity tendermint show-validator) 
--from <wallet> 
--moniker="STAVR_guide" 
--chain-id gravity-bridge-3 
--fees="500ugraviton" 
--identity="" 
--website="" 
--details="" -y

Eliminazione di un nodo

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

Comandi utili

Informazioni

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

Controllare i log del nodo

sudo journalctl -fu gravity -o cat

Controllare lo stato del servizio

sudo systemctl status gravity

Riavviare il servizio

sudo systemctl restart gravity 

Arresto del servizio

sudo systemctl stop gravity 

Avvio del servizio

sudo systemctl start gravity 

Riavvio/spegnimento/abilitazione

sudo systemctl daemon-reload
sudo systemctl disable gravity 
sudo systemctl enable gravity 

Il vostro Peer

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

Lavorare con le chiavi

Nuova chiave o Ripristino della chiave

gravity keys add Wallet_Name --algo secp256k1 --coin-type 118
      OR
gravity keys add Wallet_Name --recover --algo secp256k1 --coin-type 118

Controllo di tutte le chiavi

gravity keys list

Controllo del bilanciamento

gravity query bank balances addressjkl1yjgn7z09ua9vms259j

Eliminazione di una chiave

gravity keys delete Wallet_Name

Esportazione di una chiave

gravity keys export wallet

Importazione della chiave

gravity keys import wallet wallet.backup

Lavorare con il Validatore

Modifica del Validator

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

Il vostro indirizzo Valope

gravity keys show Wallet_Name --bech val

Il vostro indirizzo Valcon

gravity tendermint show-address

Informazioni sul Validator

gravity query staking validator valoperaddress......

Informazioni sulla prigione

gravity query slashing signing-info $(gravity tendermint show-validator)

Carcere

gravity tx slashing unjail --from Wallet_name --chain-id gravity-bridge-3 --gas 350000 -y

Elenco dei validatori attivi

gravity 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

Elenco dei validatori inattivi

gravity 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

Controllare le chiavi rispetto al validatore (vincere - bene. perdere - male).

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

Prelevare tutte le ricompense da tutti i validatori

gravity tx distribution withdraw-all-rewards --from Wallet_Name --chain-id gravity-bridge-3 --gas 350000 -y

Prelevare i fondi e le commissioni dal proprio Validatore

gravity tx distribution withdraw-rewards valoper1amx.......g85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=gravity-bridge-3 --commission -y

Delegare i token al proprio validatore

gravity tx staking delegate Your_valpoer........ "100000000"ugraviton --from Wallet_Name --gas 350000 --chain-id=gravity-bridge-3 -y

Delegare i token a un altro validatore

gravity tx staking delegate valpoer........ "100000000"ugraviton --from Wallet_Name --gas 350000 --chain-id=gravity-bridge-3 -y

Disaccoppiare i token dal proprio validatore o da un altro validatore

gravity tx staking unbond Your_valpoer........ "100000000"ugraviton l1 --from Wallet_Name --gas 350000 --chain-id=gravity-bridge-3 -y
gravity tx staking unbond valpoer........ "100000000"ugraviton --from Wallet_Name --gas 350000 --chain-id=gravity-bridge-3 -y

Trasferire i token da portafoglio a portafoglio

gravity tx bank send Your_address............ address........... "1000000000000000000"ugraviton --gas 350000 --chain-id=gravity-bridge-3 -y

Gestione

Visualizzare tutte le offerte

gravity query gov proposals

Visualizza una proposta specifica

gravity query gov proposal 1

Vota a favore

gravity tx gov vote 1 yes --from Wallet_Name --gas 350000  --chain-id=gravity-bridge-3 -y

Votare contro

gravity tx gov vote 1 no --from Wallet_Name --gas 350000  --chain-id=gravity-bridge-3 -y

Astenersi

gravity tx gov vote 1 abstain --from Wallet_Name --gas 350000  --chain-id=gravity-bridge-3 -y

Voto contrario con veto

gravity tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000  --chain-id=gravity-bridge-3 -y

Trasferimento IBC

gravity tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ugraviton --from Your_Gravity_Wallet_Name ---gas 350000 --fees "7000"ugraviton --chain-id=gravity-bridge-3 -y