OffshoreVps
Tutoriais17 out. 20267 min de leituraPor a equipe da OffshoreVps

Executando um nó RPC da Solana: requisitos e configuração

O que um validador ou nó RPC da Solana realmente precisa, como ajustar o sistema, iniciar um nó RPC com o cliente Agave e quando uma opção menor é mais inteligente.

A Solana é a rede mais exigente para rodar por conta própria. Um validador ou nó RPC completo precisa de uma CPU muito rápida, muita RAM e discos NVMe rápidos, e os requisitos mudam o tempo todo. Este guia explica o que isso significa na prática, para você decidir se precisa do seu próprio nó ou de uma configuração menor.

Janela de terminal em um VPS mostrando os comandos usados para executar um nó RPC da Solana, começando com “sudo adduser --disabled-password --gecos "" sol”
O tipo de comandos que você executará no servidor neste guia.

Validador, nó RPC ou nenhum dos dois?

  • Validador. Vota nos blocos e precisa da especificação completa de hardware, de uma conta de voto com fundos e de disponibilidade constante.
  • Nó RPC. Atende requisições de apps, bots e indexadores. Não vota, mas ainda precisa de hardware parecido, e de mais RAM se você ativar índices de contas.
  • Uso mais leve. Se você só envia algumas transações ou lê poucos dados, um endpoint RPC pago costuma sair mais barato do que rodar um nó.

Consulte os requisitos oficiais de validador da Solana antes de comprar. Eles são publicados na documentação da Solana e do Agave e mudam com a rede. Como referência aproximada, espere centenas de GB de RAM para um nó RPC movimentado e vários drives NVMe rápidos. Isso é território de servidor dedicado, não de uma VPS pequena. Nossa página de hospedagem de nó Solana lista as opções dimensionadas.

Passo 1: prepare o servidor

Use Ubuntu LTS e os passos de como proteger uma VPS nova. Crie um usuário dedicado e coloque o ledger e as contas em drives NVMe separados, se tiver mais de um.

sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts

Passo 2: aumente os limites do sistema

A Solana abre muitos arquivos e usa grandes mapeamentos de memória. Adicione isto a /etc/sysctl.d/21-solana.conf e à sua unidade systemd:

vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728

# in the systemd unit:
LimitNOFILE=1000000

Aplique com sudo sysctl --system.

Os passos deste guia em ordem: 1. Validador, nó RPC ou nenhum dos dois?; 2. prepare o servidor; 3. aumente os limites do sistema; 4. inicie um nó RPC; 5. acompanhe a sincronização; 6. Firewall
Os passos deste guia, em ordem.

Passo 3: instale o software de validador

Instale a versão atual do Agave (o cliente validador da Solana) usando o método da documentação oficial, e verifique-a. Depois confira a versão:

agave-validator --version
solana --version

Passo 4: inicie um nó RPC

Este é o formato típico do comando de início para um nó RPC sem voto. Use os validadores conhecidos e os entrypoints da documentação oficial para o seu cluster.

agave-validator \
  --identity /home/sol/identity.json \
  --ledger /mnt/ledger \
  --accounts /mnt/accounts \
  --entrypoint ENTRYPOINT:8001 \
  --known-validator KNOWN_VALIDATOR_PUBKEY \
  --only-known-rpc \
  --rpc-port 8899 \
  --private-rpc \
  --no-voting \
  --full-rpc-api \
  --limit-ledger-size \
  --log /var/log/solana/validator.log

Substitua os marcadores pelos valores da documentação. --private-rpc impede que a porta RPC seja anunciada à rede, e você ainda deve mantê-la fechada no firewall.

Passo 5: acompanhe a atualização

solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor

A atualização a partir de um snapshot leva de minutos a horas. Se o nó fica para trás e nunca se recupera, a causa costuma ser o disco ou a rede.

Firewall

Libere a faixa de portas de gossip e TPU descrita na documentação (a faixa padrão é de 8000 a 10000) e mantenha o RPC (8899 e 8900) privado. Coloque um proxy reverso com autenticação na frente se precisar atender RPC a outras máquinas.