Pular para o conteúdo
0%

O que é um node RPC?

Alchemy team headshot

Escrito por Alchemy

Publicado em 11 de abril de 20259 min de leitura

Toda vez que seu app consulta um saldo onchain, envia uma transação ou lê um evento de contrato, ele está fazendo uma pergunta que só um node de blockchain pode responder. Para onde essa pergunta vai, e quem responde, determina o quão rápido e confiável seu app parece para o usuário. Esse trabalho é de um node RPC: um servidor que executa software cliente de blockchain e responde às requisições do seu app com dados da blockchain.

O que é uma chamada de procedimento remoto (RPC)?

Uma chamada de procedimento remoto, ou RPC (remote procedure call), é um protocolo que permite que um programa em uma máquina peça a um programa em outra máquina que execute algo e devolva o resultado, sem que o primeiro programa precise saber como esse sistema remoto funciona internamente. Em blockchain, seu app é o cliente e o node que responde às requisições é o servidor.

O que é um node RPC?

Um node RPC é um computador que executa software cliente de blockchain e pode receber requisições JSON-RPC e responder com dados da blockchain: saldos, dados de blocos, recibos de transações, estado de contratos ou o resultado da transmissão de uma transação assinada.

No Ethereum, um node executa dois clientes lado a lado: um cliente de execução, como o Geth, e um cliente de consenso, como o Lighthouse. Existem vários tipos de nodes Ethereum: nodes leves guardam apenas os cabeçalhos dos blocos, nodes completos guardam o estado atual e nodes de arquivo guardam todo o estado histórico. Na Solana, os papéis se dividem de outra forma: os nodes RPC da Solana executam o mesmo software de validador e fazem tudo o que um validador faz, exceto votar na validade dos blocos. Eles não votam e não recebem recompensas. A função deles é fornecer dados aos apps.

O que é um endpoint RPC?

Um endpoint RPC é o local na rede para onde um programa envia suas requisições RPC para acessar os dados do servidor, como um endpoint RPC do Ethereum. A maior parte da documentação usa node e endpoint como sinônimos, já que todo endpoint RPC roda em um node. A diferença aparece com um provedor: uma única URL de endpoint dá acesso a uma frota inteira de nodes, então suas requisições não ficam presas a uma única máquina.

RPC é como seu app pergunta, o node é quem responde e o endpoint é para onde a requisição vai.

Termo
O que é
Exemplo

RPC

Um protocolo para pedir a um programa em outra máquina que execute algo e devolva o resultado

Seu app pedindo o saldo de uma carteira

Node RPC

Um servidor que executa software cliente de blockchain e responde a requisições RPC com dados da chain

Uma máquina rodando Geth e Lighthouse, ou um node RPC da Solana

Endpoint RPC

A URL para onde seu app envia requisições RPC

https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Como funcionam os nodes RPC?

Seu app envia uma requisição para o endpoint do node, o node a executa na sua cópia da chain e devolve o resultado. Essas requisições são escritas em JSON-RPC, a especificação RPC padrão usada em blockchains, definida pela especificação JSON-RPC 2.0. Cada requisição é um pequeno objeto JSON que indica um método e seus parâmetros.

Uma requisição JSON-RPC é um simples HTTP POST. Esta pede a um endpoint do Ethereum o número do bloco mais recente:

bash
Copied
curl https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY \ -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Cada rede publica sua própria lista de métodos: o Ethereum tem a documentação da API JSON-RPC e a Solana tem a documentação da API RPC. O Ethereum agrupa seus métodos principais em três categorias:

  1. Métodos gossip acompanham a ponta da blockchain e são usados para encontrar blocos.
  2. Métodos de estado informam o estado atual dos dados da blockchain, como saldos e armazenamento de contratos.
  3. Métodos de histórico recuperam registros históricos de qualquer bloco da chain.

Devo usar um endpoint RPC público ou privado?

Use um endpoint público para testes e um privado para qualquer coisa que usuários reais utilizem. Endpoints públicos são compartilhados, têm limite de requisições e são gratuitos. Servem para um teste rápido ou um tutorial, mas não têm garantia de disponibilidade nem suporte, então o tráfego de produção de usuários reais vai acabar esbarrando nos limites.

Endpoints privados dão ao seu app um acesso próprio, seja por um node que você mesmo executa, seja por uma URL com chave de um provedor. Com um provedor, você tem seus próprios limites de requisições, disponibilidade publicada e uma equipe para chamar quando algo quebra. A URL é só sua, mas os nodes por trás dela são compartilhados. Se você precisa de hardware reservado para um único cliente, é para isso que existem os Dedicated Clusters. Apps em produção devem rodar em um endpoint privado.

O que afeta a latência RPC?

Três fatores explicam a maior parte da latência que um app percebe:

  • Distância entre regiões. Uma requisição de Singapura para um node na Virgínia paga a viagem de ida e volta, por mais rápido que o node seja.
  • Capacidade compartilhada vs reservada. Um endpoint público coloca sua requisição na fila atrás das de todo mundo. Um endpoint privado tem seu próprio limite de requisições, e a infraestrutura dedicada elimina totalmente o compartilhamento.
  • Tipo de método. Um eth_call sobre o estado atual e um eth_getLogs sobre um intervalo amplo são cargas de trabalho diferentes, com latências diferentes.

A Alchemy publica um benchmark público que mede isso. Para cada método, todos os provedores recebem o mesmo payload JSON-RPC, chain, região, timeout e critérios de sucesso, enviados a partir de regiões de execução compartilhadas em contas pagas padrão. A latência considera apenas respostas bem-sucedidas, e as falhas são registradas separadamente. A disponibilidade em tempo real está em status.alchemy.com, e Alchemy vs QuickNode traz uma comparação provedor a provedor.

Como escolho a configuração RPC certa?

Três perguntas resolvem a maior parte dessa decisão:

  1. Quais chains você precisa suportar? Hospedar seus próprios nodes significa uma infraestrutura de nodes separada para cada chain. Um provedor cobre todas a partir de uma única conta.
  2. Quanto volume de requisições e qual latência você espera no pico? Dimensione para o seu horário de maior tráfego, não para o seu dia médio. Endpoints públicos limitam as requisições exatamente quando o tráfego dispara.
  3. Quanto suporte e garantia de disponibilidade o seu negócio realmente exige? Se uma hora fora do ar custa receita ou usuários, você precisa de disponibilidade publicada e de alguém para chamar.
Sua carga de trabalho
Configuração recomendada

Desenvolvimento local, suítes de teste, tutoriais

Um endpoint público é suficiente

App em produção com usuários reais

Um endpoint privado de um provedor

Um app que abrange várias chains

Um provedor, com um endpoint por chain

Indexação com muitos logs e leituras históricas

Um endpoint privado, mais Data APIs onde elas substituem muitas chamadas

Residência de dados rígida ou configuração de cliente personalizada

Seu próprio node, ou Dedicated Clusters

Equipes que constroem em várias chains ou que já passaram da fase de projeto paralelo costumam acabar em um provedor. Equipes com necessidades de infraestrutura muito específicas às vezes justificam executar o próprio node junto com ele. Se você está comparando as duas opções, como escolher um provedor de nodes de blockchain tem o checklist completo, e o guia abaixo calcula o custo de construir internamente.

Build vs. Buy: Blockchain Infrastructure ebook cover
Guia gratuito

Build vs. Buy: Infraestrutura Blockchain

Antes de contratar uma equipe de infraestrutura, leia isto: construir internamente pode custar $850K–$1,4M por ano antes de atender uma única requisição em produção. Veja o detalhamento completo de custos.

Baixar o guia

Comece com o Alchemy Node RPC

O Alchemy Node RPC cobre mais de 70 chains, incluindo Ethereum, Solana, Base e Robinhood Chain. O diretório de chains lista a URL RPC, o chain ID e os produtos compatíveis de cada rede.

  1. Crie uma conta na Alchemy.
  2. Crie um app e escolha sua chain e rede. O dashboard guia você pelo processo.
  3. Copie a URL do seu endpoint e envie sua primeira requisição. A chamada eth_blockNumber acima funciona assim que você configurar sua chave de API.

Precisa de hardware reservado para sua equipe ou de limites acima de um plano padrão? Fale com nossa equipe sobre Dedicated Clusters.

Perguntas frequentes

O que é um node RPC?

Um node RPC é um computador que executa software cliente de blockchain e responde, via JSON-RPC, às requisições de dados de blockchain feitas pelos apps. Ele retorna saldos, blocos, recibos de transações e estado de contratos, e transmite transações assinadas para a rede.

O que é um endpoint RPC?

Um endpoint RPC é o local na rede para onde um programa envia suas requisições RPC para acessar os dados do servidor. Na prática, é uma URL, como https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY, atendida por um ou mais nodes RPC.

Qual é a diferença entre um node RPC e um endpoint RPC?

O node é o servidor que executa o software cliente de blockchain. O endpoint é a URL para onde seu app envia as requisições. Se você executa seu próprio node, o endpoint aponta para essa única máquina. Com um provedor, uma única URL de endpoint dá acesso a uma frota de nodes.

Como funcionam os nodes RPC?

Seu app envia uma requisição JSON-RPC que indica um método, como eth_getBalance, para o endpoint do node. O node executa esse método na sua cópia da chain e retorna o resultado em JSON.

O que é o protocolo JSON-RPC?

JSON-RPC é a especificação RPC padrão usada em blockchains: cada requisição é um pequeno objeto JSON com um nome de método, parâmetros e um ID. O Ethereum agrupa seus métodos principais em métodos gossip (encontrar novos blocos), métodos de estado (saldos e armazenamento atuais) e métodos de histórico (blocos e transações anteriores).

Qual é a diferença entre um node RPC e um node completo?

Um node completo armazena e verifica o histórico da blockchain. Um node RPC é qualquer node, completo ou não, configurado para aceitar e responder requisições RPC. A maioria dos nodes RPC é de nodes completos, mas os termos descrevem coisas diferentes: um trata de quais dados o node guarda, o outro de se ele atende requisições.

Um node RPC é o mesmo que um validador?

Não. Um validador participa do consenso, votando em blocos e recebendo recompensas por isso, enquanto um node RPC fornece dados aos apps. Na Solana, um node RPC executa o mesmo software de validador e faz tudo o que um validador faz, exceto votar na validade dos blocos, então não recebe recompensas.

Quais são os diferentes tipos de endpoints RPC?

Existem dois tipos principais. Endpoints públicos são compartilhados, gratuitos e têm limite de requisições, e endpoints privados dão ao seu app um acesso próprio. Muitas equipes em produção também configuram um endpoint RPC alternativo como reserva caso o principal falhe.

Por que eu precisaria de um endpoint privado em vez de um público?

Um endpoint privado oferece seus próprios limites de requisições, disponibilidade publicada e suporte, e um endpoint público não oferece nada disso. Sem um, um app com usuários reais é limitado exatamente no momento em que o tráfego dispara.

Endpoints públicos gratuitos são suficientes para produção?

Não. Eles servem para desenvolvimento local, tutoriais e suítes de teste, mas são compartilhados, têm limite de requisições e não oferecem garantia de disponibilidade nem suporte. Qualquer coisa que atenda usuários reais deve rodar em um endpoint privado.

Um único endpoint RPC pode atender várias chains?

Não, um endpoint RPC é limitado a uma rede. Apps multichain se conectam a um endpoint separado para cada chain, embora um provedor possa oferecer um único dashboard para gerenciar todos eles.

Como a latência RPC afeta meu app?

Cada leitura onchain na sua interface espera uma resposta RPC, então a latência do node aparece diretamente como atraso no carregamento da página e na confirmação para o usuário. Os fatores que mais pesam são a distância que a requisição percorre, se a capacidade é compartilhada ou reservada e qual método você está chamando.

Quando devo usar JSON-RPC puro e quando usar uma Data API?

Use JSON-RPC puro quando precisar de um método específico do node, como ler o estado atual de um contrato com eth_call ou transmitir uma transação assinada. Use uma Data API quando, de outra forma, você teria que juntar muitas chamadas JSON-RPC, como reunir todos os saldos de tokens ou o histórico de transações de uma carteira, em que uma única requisição substitui dezenas.

Qual é a diferença entre executar seu próprio node RPC e usar um provedor de nodes?

Executar seu próprio node dá controle total, mas você fica responsável pelo hardware, por uma sincronização que leva de dias a semanas, pelas atualizações do cliente e pelo plantão. Um provedor como a Alchemy cuida de tudo isso, então você pode enviar requisições para muitas chains em minutos.

Quais blockchains suportam nodes RPC?

Todas as principais blockchains expõem uma interface RPC, incluindo Ethereum, Solana, Base, Arbitrum, Optimism e Monad. O Alchemy Node RPC suporta mais de 70 chains a partir de uma única conta, incluindo a Robinhood Chain.

Por que os endpoints RPC são importantes para desenvolvedores?

Eles são a forma como seu app lê e grava dados onchain sem executar a própria infraestrutura. Cada consulta de saldo, leitura de contrato e transação que seu app envia passa por um endpoint RPC.

Como posso começar a usar nodes RPC?

Crie uma conta na Alchemy, crie um app para sua chain e rede e copie a URL do endpoint no dashboard. Sua primeira requisição pode sair assim que você configurar sua chave de API.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.