Como consultar o blockchain Ethereum


A tecnologia Blockchain revolucionou a forma como armazenamos e acessamos dados. A natureza descentralizada do blockchain permite transparência e imutabilidade, tornando-o uma tecnologia perfect para uma variedade de indústrias. Originalmente popularizado pelo Bitcoin em 2009, desde então houve um aumento no número de plataformas blockchain lançadas em todo o mundo.

A plataforma blockchain mais proeminente é a blockchain Ethereum, que em 2021 ultrapassou o Bitcoin para se tornar a rede blockchain mais common do mundo (medido pelo número de transações). O blockchain Ethereum executa contratos inteligentes para permitir que os desenvolvedores criem aplicativos descentralizados. É alimentado por Ether, a criptomoeda usada como combustível para pagar transações na rede. Nesta postagem do weblog, exploraremos três maneiras diferentes de consultar o blockchain Ethereum.

1. Clientes Ethereum

A maneira mais básica de acessar os dados do blockchain Ethereum é hospedar você mesmo um nó em seu computador native e, em seguida, consultar esse nó diretamente. Isto pode ser feito usando um Cliente de execução Ethereum (anteriormente conhecidos como “Clientes Eth1”), cada um dos quais implementa um Especificação JSON-RPC para fornecer um conjunto uniforme de métodos para acessar dados do blockchain Ethereum. Os clientes Ethereum mais populares são Geth, Mente Infernal, Erígone Besu.

Hospedando um nó Ethereum usando Geth

Aqui está um exemplo rápido de como você pode usar Geth para consultar dados do blockchain Ethereum:

  1. Instale o Geth: O primeiro passo é instalar o Geth no seu computador. Você pode baixar o Geth do web site Ethereum e instalá-lo de acordo com as instruções do seu sistema operacional.
  2. Baixe o blockchain Ethereum: Após instalar o Geth, execute-o abrindo uma janela de terminal e simplesmente executando o comando “geth”. Geth fará o obtain do blockchain Ethereum, o que pode levar várias horas dependendo da velocidade da sua conexão com a Web. Você pode monitorar o andamento do obtain verificando as mensagens de log na janela do terminal.
  3. Comece a sincronizar: Assim que o obtain for concluído, Geth irá sincronizar com a rede Ethereum. Este processo envolve a verificação dos blocos na blockchain Ethereum e a atualização do estado da rede Ethereum. Você pode monitorar o progresso da sincronização verificando as mensagens de log na janela do terminal.

É isso! Assim que o Geth estiver totalmente sincronizado, você poderá usá-lo para interagir com a rede Ethereum. Por exemplo, você pode executar transações, implantar contratos inteligentes e consultar os dados do blockchain Ethereum. Você pode fazer isso emitindo solicitações JSON-RPC diretamente, mas é mais provável que você queira usar uma biblioteca com uma interface mais amigável, como Web3.js.

Acessando o Ethereum Blockchain com Web3.js

Web3.js é uma biblioteca JavaScript projetada especificamente para facilitar a interação com os nós do blockchain Ethereum. A biblioteca aproveita chamadas JSON-RPC para consultar dados do blockchain Ethereum, mas os abstrai completamente para fornecer uma interface fácil de usar para desenvolvedores. Web3.js é comumente usado em aplicativos da internet que interagem com blockchain, como DApps (aplicativos descentralizados) e carteiras de blockchain.

// Import the web3.js library
const Web3 = require('web3');

// Hook up with an area Ethereum node
const web3 = new Web3(new Web3.suppliers.HttpProvider("));

// Question the present block quantity
web3.eth.getBlockNumber().then(console.log);

Neste exemplo, estamos usando a biblioteca Web3 para conectar-se a um nó Ethereum native em execução na porta JSON-RPC padrão (8545), mas você sempre pode conectar-se a um nó remoto fornecendo a URL do nó em vez de usar localhost . Você também pode usar a biblioteca web3.js para consultar outros dados na blockchain Ethereum, como o saldo de um endereço Ethereum ou o histórico de transações de um endereço:

// Question the stability of an Ethereum handle
web3.eth.getBalance("0x742d35Cc6634C0532925a3b844Bc454e4438f44e").then(console.log);

// Question the transaction historical past of an Ethereum handle
web3.eth.getTransactionCount("0x742d35Cc6634C0532925a3b844Bc454e4438f44e").then(console.log);

Observe que Web3.js é específico para Ethereum e não funcionará com outras plataformas blockchain.

2. Provedores de nós RPC

Um provedor de nó Ethereum RPC é um serviço que oferece acesso aos nós Ethereum por meio de um endpoint de API. É essencialmente aqui que um serviço de terceiros hospeda um nó Ethereum, mas depois fornece uma API amigável para acessar a rede através de seu nó hospedado. Ao acessar um nó Ethereum por meio de uma API RPC, você pode interagir com o blockchain Ethereum e executar diversas operações, como consulta de dados, envio de transações e execução de contratos inteligentes.

Um provedor de nó Ethereum RPC normalmente hospeda um cluster de nós Ethereum e expõe uma API JSON-RPC que os desenvolvedores podem usar para enviar solicitações aos nós Ethereum. Isso permite que os desenvolvedores acessem dados Ethereum e executem transações sem ter que executar seu próprio nó Ethereum, que pode ser complexo e consumir muitos recursos. Ao usar um provedor de nó Ethereum RPC, os desenvolvedores podem interagir rápida e facilmente com o blockchain Ethereum, tornando-o uma opção atraente para aplicativos descentralizados e outros projetos baseados em blockchain.

Aqui estão alguns dos principais fornecedores de nós Ethereum RPC:

  1. Infurá é um common provedor de nós Ethereum que oferece acesso escalonável e seguro ao blockchain Ethereum por meio de sua infraestrutura gerenciada. Para usar o Infura, você só precisa se inscrever para obter uma chave API e depois usar essa chave em sua biblioteca cliente, como Web3.js.
  2. Alquimia é uma plataforma para construir, implantar e dimensionar aplicativos descentralizados. Ele fornece acesso aos nós Ethereum e um conjunto de ferramentas para interagir com o blockchain Ethereum, incluindo uma API GraphQL e um sistema de gerenciamento de nós Ethereum. Com Alchemy, você pode acessar dados Ethereum e executar transações com facilidade, e sua infraestrutura gerenciada garante alta confiabilidade e segurança para suas aplicações descentralizadas.
  3. QuickNode é um provedor de nós Ethereum rápidos e seguros. Eles oferecem uma infraestrutura gerenciada para interagir com o blockchain Ethereum, e você pode usar seus nós Ethereum enviando solicitações JSON-RPC para seu endpoint API. Com QuickNode, você pode acessar dados Ethereum e executar transações de forma rápida e fácil, tornando-o uma boa escolha para aplicativos descentralizados e outros projetos baseados em blockchain.
  4. Omnia: Omnia é um provedor de infraestrutura Ethereum que oferece acesso a nós Ethereum e outras ferramentas para construir e implantar aplicativos descentralizados. Eles fornecem uma infraestrutura segura e escalonável para interagir com o blockchain Ethereum, e você pode usar seus nós Ethereum enviando solicitações JSON-RPC para seu endpoint de API.

Para usar qualquer um desses provedores de nó Ethereum RPC, você precisará se inscrever para obter uma chave de API e, em seguida, usar essa chave em sua biblioteca cliente para enviar solicitações ao nó Ethereum. As etapas exatas para fazer isso dependerão da biblioteca cliente que você está usando, mas você pode encontrar mais informações e tutoriais na documentação do provedor do nó e da biblioteca cliente.

3. Consultas SQL em conjuntos de dados públicos

Talvez a maneira mais eficiente e simples de consultar dados de blockchain ainda seja usar métodos mais tradicionais: extrair, transformar e carregar dados do blockchain em um banco de dados, onde são então indexados e tornados consultáveis. Este método foi facilitado particularmente por empresas como o Google Cloud (conjunto de dados lançado em 2018) e Amazon Net Companies (conjunto de dados lançado em 2022), que divulgaram conjuntos de dados públicos e mantiveram ativamente conjuntos de dados para Ethereum e Bitcoin. Qualquer pessoa pode ingerir esses conjuntos de dados em um armazenamento de dados para consultas eficientes by way of SQL.

Como esses conjuntos de dados são totalmente públicos (o Conjunto de dados AWS é público e pode ser baixado by way of Amazon S3 a qualquer momento), você pode carregá-los no armazenamento de dados de sua escolha. Você pode encontrar tutoriais passo a passo para o Google BigQuery aqui e Amazon Atenas aqui. Neste weblog, explicaremos como você pode consultar dados do blockchain Ethereum usando Rockset.

Depois de se inscrever no Rockset (onde você receberá imediatamente US$ 300 em créditos de teste gratuito), crie sua primeira coleção usando o Conjuntos de dados públicos opção como sua fonte de dados:

Como consultar o blockchain Ethereum

Selecione o conjunto de dados Dados ao vivo do Blockchain: blocos Ethereum e clique Começar abaixo:

como_fazer_query_ethereum_2

Clique no formulário de criação de coleção, dê um nome à sua coleção e clique no botão Criar botão. Para este tutorial, nomearemos nossos blocos ethereum de coleção sem modificar nenhuma configuração padrão:

como_fazer_query_ethereum_3

Esta coleta levará cerca de 20 a 30 minutos para ser concluída. Durante esse período, o Rockset fará obtain do conjunto de dados público do Amazon S3 e o ingerirá em sua coleção do Rockset, onde será indexado automaticamente de pelo menos três maneiras usando o molho secreto do Rockset: o Índice Convergente™. Uma vez que seu standing atinge o Preparar estado, você está pronto para consultar o blockchain Ethereum usando SQL! Aqui está um exemplo de consulta que você pode executar para descobrir quantos novos blocos Ethereum foram criados no último dia:

SELECT
    COUNT(*)
FROM
    commons.ethereum_blocks e
WHERE
    CAST(e."timestamp" AS TIMESTAMP) > CURRENT_TIMESTAMP - INTERVAL 1 DAY

O conjunto de dados baixado e consultado acima é do conjunto de dados público da AWS em blocos Ethereum, mas você sempre pode consultar outros conjuntos de dados selecionando Amazon S3 como sua fonte de dados durante a criação da coleção, selecionando Balde Públicoe fornecendo seu próprio caminho S3 desejado. Por exemplo, usar o caminho S3 s3://aws-public-blockchain/v1.0/eth/transactions permitirá que você consulte dados de transações Ethereum em tempo actual e o caminho S3 s3://aws-public-blockchain/v1. 0/eth/contracts permitirá que você consulte dados de contratos inteligentes Ethereum em tempo actual. A estrutura completa de pastas e as descrições dos conjuntos de dados para os conjuntos de dados de blockchain públicos da AWS podem ser encontradas aqui.

Primeiros passos com Blockchain Analytics no Rockset

Neste weblog, discutimos especificamente métodos para consultar dados na blockchain Ethereum, mas existem infinitas possibilidades para análise de blockchain em várias redes e conjuntos de dados de blockchain. Não deixe de conferir nosso weblog em 3 casos de uso para análise de blockchain em tempo actual para saber mais sobre o espaço ou confira este estudo de caso para ver como uma startup Web3 usa Rockset para potencializar análises de blockchain em um mercado NFT. Sempre que você estiver pronto para consultar os dados do blockchain, crie sua conta Rockset e ganhe US$ 300 em créditos de avaliação gratuita para começar.



Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *