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.
Tipo de nodo: Mainnet
CPU: 8
RAM: 16 GB
Almacenamiento: 250GB
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)
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/".*//')
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
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
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
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