Etapas 1 a 4 para instalar o nó validador

Etapa 5: Instale o nó de armazenamento

Grupo de discórdia: https://discord.gg/gk6Y7YqunR

Grupo de telegramas: https://t.me/niuwuriji

Canal de telegrama: https://t.me/jiedubalaodi

0G é o primeiro sistema de disponibilidade de dados com uma camada de armazenamento universal integrada, ultraescalável e descentralizada. A escalabilidade do 0G depende da ideia de dividir o fluxo de trabalho de disponibilidade de dados em uma via de publicação de dados e uma via de armazenamento de dados. Grandes transferências de dados ocorrem em canais de armazenamento de dados suportados pela camada de armazenamento, alcançando escalabilidade horizontal através de partições bem projetadas, enquanto canais de liberação de dados garantem propriedades de disponibilidade de dados através de consenso sobre amostragem de disponibilidade de dados, um processo que requer apenas a transmissão de pequenos dados através do protocolo de consenso para evitar o gargalo da transmissão de transações

Este guia irá guiá-lo passo a passo na configuração do nó do validador 0g.AI. Você aprenderá como:

  • Instalar e configurar o nó 0g.AI

  • Receber tokens de teste

  • Criar informações do validador e participar da validação do nó

1. Como este projeto tem requisitos de desempenho moderados para dispositivos, você pode usar dispositivos locais ou VPS (servidores remotos) para configurar um nó

Configuração recomendada para o nó: dual-core 8G 300G de disco

Aqui estão tutoriais detalhados de configuração:

  1. Execute o script de implantação de nó com um clique


wget -O 0g.sh https://raw.githubusercontent.com/a3165458/0g.ai/main/0g.sh && chmod +x 0g.sh && ./0g.sh

2. Importar carteira / Criar nova carteira (exemplo para importar carteira)

Obter o endereço EVM correspondente


Comando para extrair o endereço EVM: echo "0x$(evmosd debug addr $(evmosd keys show 这里改为你的钱包名 -a) | grep hex | awk '{print $3}')"

3. Criar um validador (é necessário um faucet) (o faucet do DC está temporariamente inativo, só pode ser obtido pela web)

Site oficial de faucet: https://faucet.0g.ai/ (pode receber apenas 0.1, é um pouco decepcionante)

Acesse o DC oficial: https://discord.com/invite/0glabs


Admin, bro, você poderia me enviar alguns tokens de testnet

O endereço EVM correspondente extraído na etapa anterior

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

Tanto o token quanto a altura de sincronização devem ser atendidos antes de criar, caso contrário, ocorrerá um erro

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

4. Acesse o site para consultar a situação do trabalho do seu validador:

Explorador de validadores: https://explorer.validatorvn.com/OG-Testnet/uptime

Assim, a configuração do nó do validador foi concluída

Se houver a criação de um validador, certifique-se de fazer backup do caminho $HOME/.evmosd/config/ no arquivo `priv_validator_key.json`



— — — — — — — — — — — — — — — -

5.

Atualizar a instalação do nó de armazenamento

Configuração recomendada

Dual-core + 8G + 1T SSD


wget -O 0g.sh https://raw.githubusercontent.com/a3165458/0g.ai/main/0g.sh && chmod +x 0g.sh && ./0g.sh


screen -list


Acesse o caminho correspondente para ver as informações de logs

cd log
ls
tail -f zgs.log.2024-04-08

Assim, a implantação do nó de armazenamento foi concluída

— — — — — — — — — — — — — — -

Comandos comuns:

Verifique o status do nó

evmosd status | jq

Consultar seu validador

evmosd q staking validator $(evmosd keys show $WALLET_NAME --bech val -a

Consultar o contador de blocos perdidos do validador e detalhes da prisão

evmosd q slashing signing-info $(evmosd tendermint show-validator)

Liberte seu validador

evmosd tx slashing unjail --from $WALLET_NAME --gas=500000 --gas-prices=99999aevmos -y

Delegar tokens ao seu validador

evmosd tx staking delegate $(evmosd keys show $WALLET_NAME --bech val -a) <AMOUNT>aevmos --from $WALLET_NAME --gas=500000 --gas-prices=99999aevmos -y

Endereço

evmosd status | jq -r '"\(.NodeInfo.id)@\(.NodeInfo.listen_addr)"'

Edite seu validador

evmosd tx staking edit-validator --website="<WEBSITE>" --details="<DESCRIPTION>" --new-moniker="<NEW_MONIKER>" --identity="<KEY BASE PREFIX>" --from=$WALLET_NAME --gas=500000 --gas-prices=99999aevmos -y

control-small-size, 28px); height: var( — control-small-size, 28px);”>

Enviar tokens entre carteiras

evmosd tx bank send $WALLET_NAME <TO_WALLET> <AMOUNT>aevmos --gas=500000 --gas-prices=99999aevmos -y

Consultar o saldo da sua carteira

evmosd q bank balances $(evmosd keys show $WALLET_NAME -a)

Monitorar a carga do servidor

sudo apt update
sudo apt install htop -y
htop

Consultar validadores ativos

evmosd q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl

Consultar validadores inativos

evmosd q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl

Verifique os logs do nó


pm2 logs evmosd

Reiniciar nó


pm2 restart evmosd

Parar o nó

pm2 stop evmosd

Atualizar nó


cd 0g-evmos
git fetch
git checkout tags/
make install
evmosd version
# Reinicie o nó
pm2 restart evmosd && pm2 logs evmosd

Remover nó do servidor

# Se houver a criação de um validador, certifique-se de fazer backup do caminho $HOME/.evmosd/config/ no arquivo `priv_validator_key.json`

pm2 delete evmosd
rm -rf $HOME/.evmosd $HOME/0g-evmos

Exemplo de uso do gRPC

wget https://github.com/fullstorydev/grpcurl/releases/download/v1.7.0/grpcurl_1.7.0_linux_x86_64.tar.gz
tar -xvf grpcurl_1.7.0_linux_x86_64.tar.gz
chmod +x grpcurl
./grpcurl -plaintext localhost:$GRPC_PORT list

### Certifique-se de habilitar gRPC em app.toml
# grep -A 3 "\[grpc\]" /home/og-testnet-validator/.evmosd/config/app.toml

Exemplo de consulta REST API

curl localhost:$API_PORT/cosmos/staking/v1beta1/validators
### CERTIFIQUE-SE DE QUE A API está habilitada em app.toml
# grep -A 3 "\[api\]" /home/og-testnet-validator/.evmosd/config/app.toml