Skip to content

Usar o explorador

O que é um endpoint RPC público?

Atualizado:

Nesta página

Toda carteira e todo app que conversa com uma blockchain faz isso por meio de um endpoint RPC. Este artigo explica o que é isso, quais são os trade-offs dos endpoints públicos e como verificar e adicionar um com segurança.

O que é um endpoint RPC

RPC significa chamada de procedimento remoto (remote procedure call). Um endpoint RPC é o endereço web de um nó de blockchain que responde a perguntas e aceita transações. Um nó é um computador que guarda uma cópia da rede.

Por exemplo, um endpoint pode responder "qual é o saldo deste endereço?", "qual é o último bloco?" ou "quanto custaria esta transação?". Ele também pode aceitar uma transação assinada e repassá-la à rede. Nas redes no estilo Ethereum, o formato comum é JSON-RPC sobre HTTPS. A Solana usa um formato JSON-RPC semelhante, com métodos próprios.

Um endpoint não é a rede em si. É uma porta de entrada. Se a porta é lenta ou errada, o que você vê é lento ou errado.

Como carteiras e apps o usam

Quando você abre uma carteira e vê seu saldo, a carteira consultou um endpoint RPC. Quando você aperta "enviar", a carteira assina a transação no seu dispositivo e manda os dados assinados ao endpoint, que os encaminha à rede. Suas chaves privadas nunca vão para o endpoint. Veja carteiras e chaves.

Uma carteira já vem com um endpoint padrão para cada rede. Você pode trocá-lo. Em redes que a carteira não conhece, você mesmo adiciona uma, junto com o ID da rede (chain ID), o nome da rede e o símbolo da moeda.

Provedores públicos e privados

  • Os endpoints públicos são gratuitos e abertos a qualquer pessoa. Fundações, redes, comunidades e empresas os operam. São bons para uso leve.
  • Os provedores privados ou pagos dão a você uma chave de acesso própria, limites maiores, melhor suporte e, muitas vezes, um serviço mais rápido e estável. São usados por apps com muitos usuários.

Os endpoints públicos dividem a capacidade entre todos os usuários, então são menos previsíveis. Um plano pago dá mais controle, mas você paga e depende de uma empresa. Para um usuário comum de carteira, um endpoint público costuma bastar. Para um app empresarial, um privado é mais adequado. O ChainMonitor não recomenda nenhum provedor.

Limites de requisições (rate limits)

Para se proteger, os endpoints públicos limitam quantas requisições você pode fazer por segundo ou por dia. Se você passar do limite, eles respondem com um erro como "429 too many requests" ou ficam mais lentos. A carteira pode então mostrar um saldo vazio ou falhar ao enviar. A solução é esperar, usar outro endpoint ou usar um plano privado.

Latência e atraso de blocos

Dois números mostram quão saudável é um endpoint.

  • Latência: quanto tempo uma requisição leva para ser respondida, em milissegundos. Quanto menor, melhor. Depende da distância e da carga.
  • Atraso de blocos (block lag): quantos blocos o endpoint está atrás do bloco mais recente da rede. Um endpoint alguns blocos atrasado mostra saldos antigos, pode dizer que uma transação não existe quando ela existe e pode dar estimativas de taxa erradas.

Por que um endpoint pode ficar atrasado? O nó dele pode ter perdido conexões, pode ainda estar sincronizando ou pode estar atrás de um cache que atualiza devagar. Se um saldo na sua carteira parece errado, um endpoint atrasado é uma das primeiras coisas a verificar. Você também pode testar o mesmo endereço em um explorador de blocos.

Privacidade

Um endpoint vê toda requisição que você envia. Isso inclui seu endereço IP e os endereços que você consulta. O operador pode associar seu IP aos endereços da sua carteira. Alguns provedores publicam uma política de privacidade que diz o que registram. Outros, não.

Para reduzir o risco:

  • Leia a política de rastreamento e registro do provedor.
  • Use outro endpoint, ou uma VPN, se não quiser que o operador veja seu endereço IP.
  • Lembre-se de que todas as transações acabam públicas na rede de qualquer forma. O risco está em associar sua identidade aos seus endereços.
  • Rode seu próprio nó se a privacidade for muito importante.

Como adicionar um RPC personalizado em uma carteira

Os detalhes variam entre as carteiras, mas os passos são parecidos.

  1. Abra as configurações de rede da carteira e escolha adicionar ou editar uma rede.
  2. Informe o nome da rede, a URL do RPC, o chain ID, o símbolo da moeda e, se pedido, a URL de um explorador de blocos.
  3. Salve e mude para a rede.
  4. Verifique se o seu saldo carrega e se a carteira mostra a rede certa.

Pegue o chain ID em uma fonte confiável. Um chain ID errado ou um endereço RPC falso pode mostrar dados falsos. Adicione apenas endpoints de fontes em que você confia.

A página de saúde dos RPCs do ChainMonitor

A página de redes lista endpoints RPC públicos das redes que o site cobre. Para cada endpoint, ela mede:

  • Latência: o tempo para responder a uma requisição.
  • Altura do bloco (block height): o número do último bloco que o endpoint informa.
  • Atraso (lag): quantos blocos essa altura está atrás do bloco mais recente informado pelos outros endpoints saudáveis da rede.

A lista é ordenada com os mais rápidos primeiro, para você ver de relance quais estão saudáveis. Abra uma rede, por exemplo a partir de /chains/<id>, para ver os endpoints em detalhe. Cada um tem um botão de um clique, adicionar à carteira, que pede à sua carteira para adicionar aquela rede com o chain ID correto. Você ainda confirma o pedido na carteira. Confira os valores antes de aprovar.

Os números são medições feitas a partir dos servidores do site em um determinado momento. Sua própria latência depende de onde você está. Use-os como guia, não como garantia.

Perguntas frequentes

O que significa RPC em cripto?

Significa chamada de procedimento remoto (remote procedure call). Um endpoint RPC é um endereço web que permite a carteiras e apps conversarem com um nó de blockchain.

Os endpoints RPC públicos são seguros?

Eles não podem levar seus fundos, porque a assinatura acontece na sua carteira. Mas podem ver seu endereço IP e os endereços que você consulta, e podem mostrar dados errados ou antigos. Use endpoints de fontes em que você confia.

Por que minha carteira mostra o saldo errado?

O endpoint pode estar atrás da rede, com limite de requisições atingido ou fora do ar. Troque para outro endpoint e atualize. Você também pode conferir o endereço em um explorador.

O que é atraso de blocos?

É o número de blocos que um endpoint está atrás do bloco mais recente. Um atraso grande significa dados antigos.

Preciso de um provedor de RPC próprio?

A maioria das pessoas não. O endpoint padrão da carteira serve para o uso normal. Se você desenvolve um app ou envia muitas requisições, um plano privado ou o seu próprio nó pode ser mais adequado.