Muitas pessoas encontram o termo RPC ao adicionar manualmente um RPC de rede em carteiras como MetaMask. No entanto, o RPC é uma tecnologia fundamental indispensável para aplicações blockchain, como Dapps, Wallets e CEXs. RPC significa “Chamada de Procedimento Remoto”. Na Web2, RPC é uma técnica de comunicação que permite que um computador chame e execute um programa em outro. Através do RPC, o chamador só precisa passar o nome e os parâmetros do serviço para se comunicar, um conceito amplo. No contexto do blockchain, RPC é o protocolo que permite aos clientes interagir com o blockchain. Os usuários podem consultar informações relacionadas ao blockchain (como altura do bloco, detalhes do bloco e conexões de nós) e enviar transações por meio da interface RPC.
Página de adições à rede Metamask (Fonte: Metamask)
É vital compreender as três funções principais do RPC:
Gráfico de chamadas RPC (fonte: Google)
A arquitetura técnica detalhada é mostrada na figura acima. Para explicar mais claramente, tomamos o processo do gerente de projeto preenchendo o relatório como exemplo para explicar o processo de invocação detalhado:
Para elucidar usando uma analogia simples, imagine que você é um gerente de projeto que precisa de um relatório complexo. Você pode não ser tecnicamente adepto, então contrata um analista de dados. Você:
Dada a natureza descentralizada e distribuída dos blockchains, os dados são armazenados em vários nós. Notavelmente, para executar um nó e participar da validação de bloco, os computadores precisam atender a critérios específicos de hardware e software. Em redes como ETH e ADA, nós em execução também exigem o staking de uma certa quantidade de tokens.
Nem todos os nós podem usar o protocolo RPC. Normalmente, apenas computadores que executam software cliente blockchain podem atuar como nós RPC. A maioria dos projetos não consegue arcar com os custos operacionais e de manutenção dos nós em execução, dado o imenso tempo, mão de obra e recursos necessários. Isso deu origem a nós RPC e provedores de serviços dedicados.
Na seção anterior, fica evidente que uma função vital do RPC (Remote Procedure Call) é estabelecer uma conexão entre aplicativos de terminal e o blockchain. Portanto, o uso principal do RPC é, durante o processo de desenvolvimento, escolher um provedor de serviços RPC apropriado para permitir que os usuários executem transações e consultas em cadeia.
Para o usuário médio da Web3, o caso de uso mais direto é mudar para um gateway RPC com menor latência durante o congestionamento da rede, reduzindo assim o atraso e acelerando a execução da transação. Em teoria, o RPC pode ser aplicado a qualquer projeto que exija transações blockchain ou consultas de informações.
RPC privado
A grande maioria dos blockchains oferece RPCs públicos gratuitos para testes de aplicativos. No entanto, estes vêm com limitações de taxas, levando ao surgimento de RPCs privados. Um endpoint RPC privado possui uma URL exclusiva e somente seu proprietário pode usar essa URL para enviar transações para o pool de memória pública, oferecendo assim uma conexão direta ao provedor do nó. Os benefícios do uso de RPCs privados na prática incluem:
Com relação ao uso de RPC no desenvolvimento, os desenvolvedores devem consultar a documentação. Este artigo usa o switch RPC em carteiras, como MetaMask, como ilustração: Vá em configurações, selecione a rede, clique no nome da rede para a qual deseja alterar o RPC, modifique a URL do RPC à direita e salve para finalizar o mudar. Os usuários devem considerar os níveis de latência, pois mudar para um RPC de alta latência pode diminuir a velocidade das transações.
MetaMask tem uma página de alteração de RPC (fonte: versão web MetaMask).
Ao usá-lo, é crucial comparar os níveis de latência. Se você mudar para um RPC com latência mais alta, a velocidade das transações poderá diminuir.
Devido à complexidade de configuração e operação de nós, surgiu uma categoria de empresas especializadas em operar esses nós para fornecer serviços como RPC/API para projetos. Os projetos podem enviar solicitações a esses provedores via Internet. Esses provedores executam nós totalmente sincronizados e sempre atualizados, disponíveis 24 horas por dia, 7 dias por semana, em vez de os projetos enviarem solicitações aos seus nós locais. Muitos provedores oferecem mais do que apenas serviços RPC; eles também oferecem vários serviços relacionados, como APIs, SDKs, etc. Para desenvolvedores e usuários individuais, ao escolher um provedor, é essencial considerar fatores como velocidade de transação, custo, atendimento ao cliente e a variedade de ferramentas que eles oferecem.
Os provedores de serviços RPC também fornecem os RPCs privados mencionados anteriormente. A maioria dos provedores de RPC atendem a operações de múltiplas cadeias e geralmente oferecem versões de avaliação gratuitas e públicas. Abaixo estão alguns provedores de serviços RPC populares:
Flashbots
Flashbots é uma empresa voltada para pesquisas com foco em Miner Extractable Value (MEV), com o objetivo de mitigar as externalidades negativas e os riscos que o MEV representa para blockchains de contratos inteligentes. Seu serviço RPC, Flashbots Protect, consiste em RPC e API. Os desenvolvedores podem incorporá-lo facilmente em seus aplicativos usando a API. Usuários comuns podem adicionar seu RPC às suas carteiras, direcionando suas transações para Flashbots. Este processo envolve o envio de transações diretamente aos mineradores em vez do pool público, evitando o “ataque sanduíche” predominante no MEV. Atualmente, a Flashbots é uma entidade líder na indústria de pesquisa de MEV.
Nota: Um ataque sanduíche refere-se à tática de concluir uma negociação pouco antes da transação do usuário ser confirmada, fazendo com que o preço suba e, em seguida, vender com um prêmio após a conclusão da transação do usuário para obter lucro.
Infurá
Infura é um produto IaaS (Infraestrutura como Serviço) projetado para facilitar o acesso aos dados Ethereum para desenvolvedores e usuários. Atuando como um nó Ethereum completo, ele oferece uma interface API que permite que DApps sejam rapidamente conectados à plataforma Ethereum para interação sem executar um nó Ethereum local. Sua clientela inclui Metamask, Uniswap, Compound e muito mais.
Alquimia
A Alchemy fornece SDKs e APIs para a construção de DApps Web3 de múltiplas cadeias e educa os usuários sobre o uso dessas ferramentas por meio de iniciativas comunitárias e universitárias. A Alchemy apoiou mais de US$ 100 bilhões em valor de transação em cadeia, tem mais de 10 milhões de usuários finais e gerou mais de US$ 1,5 bilhão em royalties. Clientes notáveis incluem Opensea, GMX e AAVE.
Ankr
A Ankr oferece vários serviços de nós, incluindo nós públicos e privados, suportando mais de 30 blockchains. Ankr também fornece interfaces API baseadas em protocolos RPC e WebSocket, bem como diversas ferramentas de desenvolvimento e SDKs, como Web3.js e Truffle, permitindo que os desenvolvedores criem e implantem facilmente aplicativos blockchain. Sua base de clientes inclui Binance, Sushiswap, Meta Apes e muito mais.
nó rápido
QuickNode fornece serviços de API aos usuários diretamente por meio de nós dedicados. Ele oferece suporte a várias regiões, vários testnets e nós de arquivo, oferecendo aos desenvolvedores desempenho aprimorado de acesso ao blockchain e maior estabilidade. Os recursos incluem um painel intuitivo, conjunto de análises e um gravador de chamadas de procedimento remoto, com suporte para mais de 20 cadeias. Os clientes incluem Nansen, Algofi e Dapprader.
BlocoPI
BlockPI é um RPC com estrutura de rede distribuída, uma camada de aceleração multi-cadeia distribuída participando do ambiente Web3 descentralizado. No início de 2023, atualizou com sucesso seu RPC público, oferecendo um serviço RPC gratuito mais estável e rápido. Em teoria, sua arquitetura aborda fundamentalmente o problema de congestionamento das solicitações RPC e possui escalabilidade infinita.
Com o contínuo amadurecimento da tecnologia blockchain e a crescente adoção do Web3, os serviços RPC, como um dos serviços fundamentais, têm um futuro promissor. A demanda dos desenvolvedores por serviços RPC aumentará previsivelmente. Do ponto de vista de um indivíduo, os comerciantes frequentes que exigem velocidades de transação mais rápidas poderiam se beneficiar muito ao selecionar um RPC público menos utilizado ou ao investir em um RPC privado, especialmente para atividades como lançamentos aéreos ou cunhagem de NFT.
Muitas pessoas encontram o termo RPC ao adicionar manualmente um RPC de rede em carteiras como MetaMask. No entanto, o RPC é uma tecnologia fundamental indispensável para aplicações blockchain, como Dapps, Wallets e CEXs. RPC significa “Chamada de Procedimento Remoto”. Na Web2, RPC é uma técnica de comunicação que permite que um computador chame e execute um programa em outro. Através do RPC, o chamador só precisa passar o nome e os parâmetros do serviço para se comunicar, um conceito amplo. No contexto do blockchain, RPC é o protocolo que permite aos clientes interagir com o blockchain. Os usuários podem consultar informações relacionadas ao blockchain (como altura do bloco, detalhes do bloco e conexões de nós) e enviar transações por meio da interface RPC.
Página de adições à rede Metamask (Fonte: Metamask)
É vital compreender as três funções principais do RPC:
Gráfico de chamadas RPC (fonte: Google)
A arquitetura técnica detalhada é mostrada na figura acima. Para explicar mais claramente, tomamos o processo do gerente de projeto preenchendo o relatório como exemplo para explicar o processo de invocação detalhado:
Para elucidar usando uma analogia simples, imagine que você é um gerente de projeto que precisa de um relatório complexo. Você pode não ser tecnicamente adepto, então contrata um analista de dados. Você:
Dada a natureza descentralizada e distribuída dos blockchains, os dados são armazenados em vários nós. Notavelmente, para executar um nó e participar da validação de bloco, os computadores precisam atender a critérios específicos de hardware e software. Em redes como ETH e ADA, nós em execução também exigem o staking de uma certa quantidade de tokens.
Nem todos os nós podem usar o protocolo RPC. Normalmente, apenas computadores que executam software cliente blockchain podem atuar como nós RPC. A maioria dos projetos não consegue arcar com os custos operacionais e de manutenção dos nós em execução, dado o imenso tempo, mão de obra e recursos necessários. Isso deu origem a nós RPC e provedores de serviços dedicados.
Na seção anterior, fica evidente que uma função vital do RPC (Remote Procedure Call) é estabelecer uma conexão entre aplicativos de terminal e o blockchain. Portanto, o uso principal do RPC é, durante o processo de desenvolvimento, escolher um provedor de serviços RPC apropriado para permitir que os usuários executem transações e consultas em cadeia.
Para o usuário médio da Web3, o caso de uso mais direto é mudar para um gateway RPC com menor latência durante o congestionamento da rede, reduzindo assim o atraso e acelerando a execução da transação. Em teoria, o RPC pode ser aplicado a qualquer projeto que exija transações blockchain ou consultas de informações.
RPC privado
A grande maioria dos blockchains oferece RPCs públicos gratuitos para testes de aplicativos. No entanto, estes vêm com limitações de taxas, levando ao surgimento de RPCs privados. Um endpoint RPC privado possui uma URL exclusiva e somente seu proprietário pode usar essa URL para enviar transações para o pool de memória pública, oferecendo assim uma conexão direta ao provedor do nó. Os benefícios do uso de RPCs privados na prática incluem:
Com relação ao uso de RPC no desenvolvimento, os desenvolvedores devem consultar a documentação. Este artigo usa o switch RPC em carteiras, como MetaMask, como ilustração: Vá em configurações, selecione a rede, clique no nome da rede para a qual deseja alterar o RPC, modifique a URL do RPC à direita e salve para finalizar o mudar. Os usuários devem considerar os níveis de latência, pois mudar para um RPC de alta latência pode diminuir a velocidade das transações.
MetaMask tem uma página de alteração de RPC (fonte: versão web MetaMask).
Ao usá-lo, é crucial comparar os níveis de latência. Se você mudar para um RPC com latência mais alta, a velocidade das transações poderá diminuir.
Devido à complexidade de configuração e operação de nós, surgiu uma categoria de empresas especializadas em operar esses nós para fornecer serviços como RPC/API para projetos. Os projetos podem enviar solicitações a esses provedores via Internet. Esses provedores executam nós totalmente sincronizados e sempre atualizados, disponíveis 24 horas por dia, 7 dias por semana, em vez de os projetos enviarem solicitações aos seus nós locais. Muitos provedores oferecem mais do que apenas serviços RPC; eles também oferecem vários serviços relacionados, como APIs, SDKs, etc. Para desenvolvedores e usuários individuais, ao escolher um provedor, é essencial considerar fatores como velocidade de transação, custo, atendimento ao cliente e a variedade de ferramentas que eles oferecem.
Os provedores de serviços RPC também fornecem os RPCs privados mencionados anteriormente. A maioria dos provedores de RPC atendem a operações de múltiplas cadeias e geralmente oferecem versões de avaliação gratuitas e públicas. Abaixo estão alguns provedores de serviços RPC populares:
Flashbots
Flashbots é uma empresa voltada para pesquisas com foco em Miner Extractable Value (MEV), com o objetivo de mitigar as externalidades negativas e os riscos que o MEV representa para blockchains de contratos inteligentes. Seu serviço RPC, Flashbots Protect, consiste em RPC e API. Os desenvolvedores podem incorporá-lo facilmente em seus aplicativos usando a API. Usuários comuns podem adicionar seu RPC às suas carteiras, direcionando suas transações para Flashbots. Este processo envolve o envio de transações diretamente aos mineradores em vez do pool público, evitando o “ataque sanduíche” predominante no MEV. Atualmente, a Flashbots é uma entidade líder na indústria de pesquisa de MEV.
Nota: Um ataque sanduíche refere-se à tática de concluir uma negociação pouco antes da transação do usuário ser confirmada, fazendo com que o preço suba e, em seguida, vender com um prêmio após a conclusão da transação do usuário para obter lucro.
Infurá
Infura é um produto IaaS (Infraestrutura como Serviço) projetado para facilitar o acesso aos dados Ethereum para desenvolvedores e usuários. Atuando como um nó Ethereum completo, ele oferece uma interface API que permite que DApps sejam rapidamente conectados à plataforma Ethereum para interação sem executar um nó Ethereum local. Sua clientela inclui Metamask, Uniswap, Compound e muito mais.
Alquimia
A Alchemy fornece SDKs e APIs para a construção de DApps Web3 de múltiplas cadeias e educa os usuários sobre o uso dessas ferramentas por meio de iniciativas comunitárias e universitárias. A Alchemy apoiou mais de US$ 100 bilhões em valor de transação em cadeia, tem mais de 10 milhões de usuários finais e gerou mais de US$ 1,5 bilhão em royalties. Clientes notáveis incluem Opensea, GMX e AAVE.
Ankr
A Ankr oferece vários serviços de nós, incluindo nós públicos e privados, suportando mais de 30 blockchains. Ankr também fornece interfaces API baseadas em protocolos RPC e WebSocket, bem como diversas ferramentas de desenvolvimento e SDKs, como Web3.js e Truffle, permitindo que os desenvolvedores criem e implantem facilmente aplicativos blockchain. Sua base de clientes inclui Binance, Sushiswap, Meta Apes e muito mais.
nó rápido
QuickNode fornece serviços de API aos usuários diretamente por meio de nós dedicados. Ele oferece suporte a várias regiões, vários testnets e nós de arquivo, oferecendo aos desenvolvedores desempenho aprimorado de acesso ao blockchain e maior estabilidade. Os recursos incluem um painel intuitivo, conjunto de análises e um gravador de chamadas de procedimento remoto, com suporte para mais de 20 cadeias. Os clientes incluem Nansen, Algofi e Dapprader.
BlocoPI
BlockPI é um RPC com estrutura de rede distribuída, uma camada de aceleração multi-cadeia distribuída participando do ambiente Web3 descentralizado. No início de 2023, atualizou com sucesso seu RPC público, oferecendo um serviço RPC gratuito mais estável e rápido. Em teoria, sua arquitetura aborda fundamentalmente o problema de congestionamento das solicitações RPC e possui escalabilidade infinita.
Com o contínuo amadurecimento da tecnologia blockchain e a crescente adoção do Web3, os serviços RPC, como um dos serviços fundamentais, têm um futuro promissor. A demanda dos desenvolvedores por serviços RPC aumentará previsivelmente. Do ponto de vista de um indivíduo, os comerciantes frequentes que exigem velocidades de transação mais rápidas poderiam se beneficiar muito ao selecionar um RPC público menos utilizado ou ao investir em um RPC privado, especialmente para atividades como lançamentos aéreos ou cunhagem de NFT.