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