Métodos de pago Abuse

Gravedad: instalar y trabajar con un nodo

07.10.2024, 14:09

Gravity es una cadena de bloques de nivel 1 diseñada para la adopción masiva y el futuro de la omnicanalidad. Su enfoque abstrae las complejidades técnicas de las interacciones multicadena mediante la integración de tecnologías avanzadas como pruebas de conocimiento cero, mecanismos de consenso de última generación y una arquitectura rediseñada para ofrecer un alto rendimiento, mayor seguridad y eficiencia de costes. Gravity sirve a los 20 millones de usuarios del ecosistema Galxe, garantizando una experiencia fluida y atractiva en la mayor red de distribución onchain de Web3.

Requisitos mínimos del sistema:

Tipo de nodo: Mainnet

CPU: 8

RAM: 16 GB

Almacenamiento: 250GB

Instalación del nodo:

1) Instalación automática.

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

2) Instalación manual

Preparación del servidor

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

Instalación 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

Versión 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/

Instalación

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

Creación de la cartera

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

Conjunto de claves del orquestador

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

Instalación de Genesis

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

Configuración del precio mínimo de gas y 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

Poda (opcional)

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

Indexador (opcional)

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

Instalación de addrbook

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

Creación de un archivo de servicio

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

Inicio de

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

Crear el archivo de servicio 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

Cargar el servicio y ejecutarlo

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

Crear el validador

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

Eliminar 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)

Comandos útiles

Información

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

Comprobar los registros del nodo

sudo journalctl -fu gravity -o cat

Comprobar el estado del servicio

sudo systemctl status gravity

Reiniciar el servicio

sudo systemctl restart gravity 

Detener el servicio

sudo systemctl stop gravity 

Inicio del servicio

sudo systemctl start gravity 

Reiniciar/apagar/activar

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

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

Trabajar con claves

Nueva clave o Restaurar clave

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

Comprobar todas las llaves

gravity keys list

Comprobar el saldo

gravity query bank balances addressjkl1yjgn7z09ua9vms259j

Borrar una llave

gravity keys delete Wallet_Name

Exportar llave

gravity keys export wallet

Importar llave

gravity keys import wallet wallet.backup

Trabajar con el Validador

Editar el Validador

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

Dirección de Valope

gravity keys show Wallet_Name --bech val

Tu dirección de Valcon

gravity tendermint show-address

Información sobre tu Validador

gravity query staking validator valoperaddress......

Información sobre la cárcel

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

Lista de validadores activos

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

Lista de validadores inactivos

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

Comprobar las claves con el validador (Ganar - bueno. Perder - malo).

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"

Retirar todas las recompensas de todos los validadores

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

Retirar fondos y comisiones de tu validador

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

Delegar tokens a su validador

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

Delegar tokens a otro validador

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

Desacoplar tokens de tu validador o de otro validador

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

Transferir tokens de monedero a monedero

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

Gestión

Ver todas las ofertas

gravity query gov proposals

Ver una propuesta concreta

gravity query gov proposal 1

Votar a favor

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

Votar en contra

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

Abstenerse

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

Votar en contra con veto

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

Transferencia 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