NOVO: Helius adquire a Light Protocol
como funcionam os RPCs da Solana
Blog/Fundamentos

Tudo o que você precisa saber sobre RPCs da Solana (2023)

Cofundador e CEOMert Mumtaz no XMert Mumtaz no LinkedIn
5 min de leitura

Introdução

Como parte essencial da interação entre aplicações descentralizadas e redes blockchain, os RPCs são um assunto indispensável para quem atua nesse espaço em rápida evolução. Seja seu foco a Solana ou outras plataformas blockchain, este guia fornecerá conhecimentos essenciais sobre o papel dos RPCs em ambientes tradicionais e de blockchain.

Significado de RPC: o que quer dizer RPC?

No universo cripto, todos os dados de que você precisa estão on-chain. Eles são totalmente abertos e não exigem permissão para que qualquer pessoa possa consultá-los e utilizá-los. Então, como acessá-los? Com RPCs.

RPCs — embora tecnicamente signifique Remote Procedure Calls, ou chamadas de procedimento remoto — costuma ser usado como abreviação de nós RPC. Esses nós participam da rede blockchain e disponibilizam métodos (chamados de chamadas de procedimento remoto) que os desenvolvedores podem executar.

RPCs vs. APIs

No desenvolvimento tradicional de software (web2), você geralmente obtém os dados necessários por meio de APIs. Pode usar as APIs da Stripe para trabalhar com dados de pagamentos, a Twilio para dados de SMS, a Bloomberg para dados financeiros, a Plaid para dados bancários e assim por diante.

Um ponto interessante é que os dados que você procura muitas vezes ficam concentrados ou sob o controle de entidades centralizadas.

É aí que entram os RPCs. Eles permitem que dados sem restrições de acesso sejam fornecidos a você com eficiência, sem a necessidade de um provedor externo. Esses dados vêm diretamente de uma chamada ao ledger.

RPCs convencionais vs. RPCs de blockchain e cripto

Tanto em ambientes tradicionais quanto em blockchain, os RPCs servem para obter dados, mas as semelhanças geralmente terminam aí. RPCs tradicionais operam por meio de vários protocolos e interagem com bancos de dados centralizados, o que exige confiar em uma única entidade para garantir a integridade dos dados. Já os RPCs de blockchain costumam usar HTTP com JSON-RPC, extraem dados de redes descentralizadas e oferecem mais segurança por meio da verificação dos dados em vários nós. Enquanto RPCs tradicionais podem restringir o acesso aos dados, RPCs de blockchain normalmente oferecem dados públicos e abertos. Além disso, RPCs de blockchain, especialmente em redes como a Solana, são otimizados para velocidade e capacidade de processamento, atendendo às demandas em tempo real das aplicações descentralizadas. Entender essas diferenças fundamentais pode orientar sua interação com RPCs no ecossistema blockchain.

RPCs da Solana

RPCs da Mainnet da Solana

Para obter dados do cluster Mainnet Beta da blockchain Solana, você precisa fazer uma solicitação JSON-RPC a um nó RPC participante da rede.

Uma solicitação JSON-RPC típica pode ter a seguinte aparência:

Código
curl  -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

Essa solicitação pede ao nó RPC disponível em https://api.mainnet-beta.solana.com que execute o método RPC getBlock. Ele sabe o que fazer ao receber essa solicitação porque está executando o cliente de software da blockchain Solana.

Na prática, quase ninguém trabalha diretamente com solicitações JSON-RPC como essa (embora você certamente possa fazer isso!). A maioria dos desenvolvedores prefere trabalhar com clientes RPC. O mais usado é a biblioteca Solana Web3 JS, disponível aqui. Para consultar a lista completa de métodos JSON RPC disponíveis na Solana, confira a documentação oficial.

RPCs da Devnet da Solana

Como alternativa, você pode acessar o cluster Devnet da Solana usando um RPC da Devnet. A Solana oferece um para testes, disponível em https://api.devnet.solana.com.

Nossa solicitação RPC teria então esta aparência:

Código
 curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

A única mudança é o cluster em que ela é executada. Talvez seja necessário mudar a conta consultada caso não existam transações ou informações dessa conta na Devnet. Isso acontece porque o cluster Devnet não compartilha o histórico da Mainnet Beta

RPCs da Ethereum vs. RPCs da Solana

Para funcionar, a Solana precisa de uma rede distribuída de nós executando seus clientes de software.

Esses nós podem ser divididos em dois tipos: validadores e RPCs.

Esses dois tipos de nó têm algo importante em comum: ambos monitoram continuamente a blockchain e armazenam seus dados mais recentes (ou estado).

No entanto, existe uma diferença fundamental entre eles.

Validadores são nós que votam (por exemplo: "sim, este bloco é válido") e participam do consenso.

RPCs são nós que não votam, mas processam solicitações para trabalhar com dados on-chain. Essa configuração não é comum em outras blockchains, como a Ethereum, em que os nós validadores e RPC muitas vezes são os mesmos.

Quando você faz uma chamada RPC, está invocando um procedimento ou uma função em um nó que participa da blockchain. Como ele participa da rede, conhece os dados mais recentes e pode disponibilizá-los quando você os solicita.

Helius: empresa de RPCs da Solana

A Helius oferece acesso RPC de alto nível, com muitos benefícios para desenvolvedores na Solana.

Os RPCs da Helius usam hardware de última geração, garantindo que sua aplicação tenha sempre o melhor desempenho, com confiabilidade e sem complicações. Temos orgulho de oferecer o melhor suporte 24 horas por dia, 7 dias por semana, para desenvolvedores do ecossistema. Quando seu sistema enfrentar um problema inesperado ou você tiver alguma dúvida sobre um recurso futuro, estaremos disponíveis para ajudar imediatamente.

RPCs da Solana: como começar a usar a Helius

Os RPCs são extremamente importantes — sem eles, é literalmente impossível trabalhar com a blockchain. Por isso, existem empresas especializadas em aperfeiçoar a experiência com RPCs. Essas máquinas são usadas de forma intensiva, e é fundamental que tenham um bom desempenho sob cargas elevadas. Um bom provedor de RPC deve ser confiável, apresentar desempenho consistente e disponibilizar métricas para que os usuários finais acompanhem seus padrões de uso ao longo do tempo.

Na Helius, somos engenheiros especializados em Solana e assumimos a missão de oferecer a melhor experiência possível com RPCs para todos os tipos de desenvolvedores. Você pode começar gratuitamente, sem cadastro por e-mail nem cartão de crédito, com apenas dois cliques.

Esta foi uma introdução bastante breve e acessível para iniciantes sobre os RPCs da Solana. Você provavelmente já conhecia boa parte dessas informações. A seguir, falaremos sobre otimizações de RPC, ressalvas e alguns tópicos mais avançados — agradecemos pela leitura!

Assine a Helius

Acompanhe as novidades mais recentes do desenvolvimento Solana e receba atualizações quando publicarmos

Imagem ampliada