Modes de paiement Abuse

Gravity : Installer et travailler avec un nœud

07.10.2024, 14:09

Gravity est une blockchain de niveau 1 conçue pour une adoption massive et pour l'avenir de l'omnicanal. Son approche fait abstraction des complexités techniques des interactions multi-chaînes en intégrant des technologies avancées telles que les preuves de connaissance zéro, les mécanismes de consensus de pointe et une architecture remodelée pour offrir de hautes performances, une sécurité renforcée et une efficacité en termes de coûts. Gravity sert les 20 millions d'utilisateurs de l'écosystème Galxe, garantissant une expérience transparente et attrayante sur le plus grand réseau de distribution onchain de Web3.

Configuration minimale requise :

Type de nœud : Mainnet

CPU : 8

RAM : 16GB

Stockage : 250GB

Installation du nœud :

1) Installation automatique.

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

2) Installation manuelle

Préparation du serveur

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

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

Version 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/

Installation de GO 1.21.6

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

Création du portefeuille

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

Jeu de clés Orchestrator

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

Installation de Genesis

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

Configuration du prix minimum du gaz et des 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

Élagage (optionnel)

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

Indexeur (optionnel)

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

Installation d'addrbook

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

Création d'un fichier de service

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

Démarrage

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

Créer le fichier de service 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

Charger le service et l'exécuter

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

Création du validateur

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

Suppression d'un nœud

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)

Commandes utiles

Informations

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

Vérifier les journaux de nœuds

sudo journalctl -fu gravity -o cat

Vérifier l'état du service

sudo systemctl status gravity

Redémarrer le service

sudo systemctl restart gravity 

Arrêter le service

sudo systemctl stop gravity 

Démarrage du service

sudo systemctl start gravity 

Redémarrage/arrêt/activation

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

Votre pair

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

Travailler avec des clés

Nouvelle clé ou Restaurer la clé

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

Vérifier toutes les clés

gravity keys list

Vérification de l'équilibre

gravity query bank balances addressjkl1yjgn7z09ua9vms259j

Supprimer une clé

gravity keys delete Wallet_Name

Exporter une clé

gravity keys export wallet

Importer une clé

gravity keys import wallet wallet.backup

Travailler avec le validateur

Modifier le validateur

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

Votre adresse Valope

gravity keys show Wallet_Name --bech val

Votre adresse Valcon

gravity tendermint show-address

Informations sur votre validateur

gravity query staking validator valoperaddress......

Informations sur la prison

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

Unjail

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

Liste des validateurs actifs

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

Liste des validateurs inactifs

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

Vérification des clés par rapport au validateur (Gagnant - bon. Perdant - mauvais)

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"

Retirer toutes les récompenses de tous les validateurs

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

Retirer les fonds et les commissions de votre validateur

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

Déléguer des jetons à votre validateur

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

Déléguer des jetons à un autre validateur

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

Découpler les jetons de votre validateur ou d'un autre validateur

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

Transférer des jetons d'un portefeuille à l'autre

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

Gestion

Voir toutes les offres

gravity query gov proposals

Voir une proposition spécifique

gravity query gov proposal 1

Voter pour

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

Voter contre

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

S'abstenir

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

Voter contre avec veto

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

Transfert 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