---
title: "Archive Nodes - tudo o que você precisa saber"
description: "Como Archive Nodes funcionam, como rodar um Archive Node e quando usá-los"
---

# Archive Nodes - tudo o que você precisa saber

Uma blockchain pública como Ethereum ou Polygon é uma rede peer-to-peer global de computadores. Os nós, como cada dispositivo peer é conhecido, armazenam e processam informações da blockchain e verificam o estado da rede, entre outras coisas.

Embora os nós possam interagir com outros peers na blockchain, eles têm capacidades e casos de uso diferentes. Por exemplo, os archive nodes—discutidos neste artigo—podem armazenar os dados históricos completos da blockchain e disponibilizá-los sob demanda. Isso os diferencia dos full nodes, que armazenam apenas o estado recente da blockchain, e dos light nodes, que basicamente solicitam dados de full nodes.

Esta visão geral aborda os archive nodes em detalhe e explica como funcionam no Ethereum. Você vai entender por que executar um archive node é importante, quais clientes usar e como construir seu archive node para consultar dados históricos da blockchain.

<ImageBlock
  src="https://media.alchemy.com/1704095139-blockchain-network-p2p-nodes.jpeg"
  alt="Um diagrama mostrando como nós peer-to-peer se conectam e interagem em uma rede blockchain."
  width={1600}
  height={1037}
  caption="Um diagrama mostrando como nós peer-to-peer se conectam e interagem em uma rede blockchain."
  priority
/>

## O que é um archive node do Ethereum?

Um archive node do Ethereum é um full node com capacidade de armazenar todo o histórico da blockchain, até mesmo o bloco gênesis, ou o primeiro bloco já criado. Cobrimos todos os tipos de nós em detalhe em nosso [guia sobre nós de blockchain](http://www.alchemy.com/overviews/what-is-an-ethereum-node); aqui daremos apenas uma visão geral rápida de cada tipo:

### Full nodes

Os full nodes armazenam os estados atual e mais recente da blockchain \(até os últimos 128 blocos\) e participam da validação de blocos recém-adicionados. Eles podem processar transações, executar smart contracts e consultar/servir dados da blockchain. Também conseguem acessar alguns dados históricos \(via tracing\), mas são ineficientes para essa tarefa.

### Light nodes \(também chamados de "light clients"\)

Os light clients armazenam apenas os cabeçalhos de bloco, o que lhes dá acesso a dados mínimos da blockchain \(por exemplo, timestamp do bloco, hash, dificuldade de mineração, etc.\). No entanto, também podem se comunicar com full nodes para obter os dados necessários e validar informações \(por exemplo, verificar o status de uma transação ou consultar saldos\). Executar um light node exige o menor investimento em hardware, custos operacionais e conhecimento técnico.

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Light Node", dataType: "object" },
      { key: "2", width: 200, title: "Full Node", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Block Headers</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Block Headers</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>Full Block State</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Full Block State</p>", tooltip: "", icon: "" },
        id: 1,
      },
    ],
  }}
/>

### Archive nodes

Os archive nodes armazenam as mesmas informações que os full nodes, além de todos os estados anteriores da blockchain. Executar um archive node exige o maior investimento em hardware, custos operacionais, conhecimento técnico e experiência. Os archive nodes constroem dados históricos da blockchain de forma rápida e eficiente, sendo úteis para consultar dados históricos arbitrários, como os saldos de um usuário em um bloco específico.

Os archive nodes exigem mais espaço do que outros tipos de nós \(já que armazenam mais dados\), mas o investimento vale a pena em casos específicos. Na próxima seção, exploramos como os archive nodes funcionam e como sua arquitetura difere dos outros tipos de nós.

## Como funcionam os archive nodes?

Os archive nodes armazenam todos os estados históricos de uma blockchain entre blocos. Um archive node basicamente contém snapshots da rede em diferentes momentos.

### Quais dados um archive node sincroniza?

**Um archive node realiza uma "full sync", que baixa os dados completos dos blocos desde o bloco gênesis, incluindo cabeçalhos de bloco, transações e receipts.**

Como todos os nós, um archive node precisa "sincronizar" com o estado atual da blockchain para armazenar e verificar dados na rede. A sincronização exige recuperar dados de estado de peers, verificar transações e construir uma instância local da blockchain.

Os archive nodes verificam todos os blocos baixados, reexecutam todas as transações e gravam todos os estados intermediários em seu disco. É essa última parte que explica por que os archive nodes fornecem um "arquivo" do estado da blockchain em diferentes momentos.

#### Quanto tempo leva para sincronizar um archive node?

**A estimativa média para sincronizar um archive node varia, mas espere algo entre um e três meses \(ou mais, se o processo tiver problemas\).**

[Archive nodes levam mais tempo para sincronizar](https://www.palkeo.com/en/projets/ethereum/parity_archive_node.html) do que full nodes ou light clients comuns. Isso simplesmente porque um archive node vai recuperar o conjunto completo de dados da blockchain desde o início.

Full nodes e light nodes exigem bem menos tempo para sincronizar, já que eliminam dados históricos e desnecessários da blockchain. Por exemplo, um full node sincroniza apenas até o bloco mais recente e possivelmente algumas centenas de blocos antes dele \(os light clients sincronizam apenas os cabeçalhos dos blocos mais recentes\).

Essa taxa lenta de sincronização pode travar projetos de desenvolvimento, motivo pelo qual é recomendável [usar um provedor de nós de blockchain](https://www.alchemy.com/overviews/blockchain-node-providers). Os provedores de nós permitem que você implante archive nodes totalmente sincronizados sob demanda, poupando o esforço de executar um archive node.

#### Qual é o tamanho de um archive node?

No momento em que este texto foi escrito, archive nodes rodando os dois principais clientes \(Geth e OpenEthereum\) armazenam [**mais de 10 TB de dados**](https://etherscan.io/chartsync/chainarchive).

Para efeito de comparação, full nodes rodando Geth armazenam pouco mais de 700GB de dados da blockchain. Já explicamos o motivo dessa disparidade—a necessidade de recuperar os dados da blockchain desde o gênesis com archive nodes, diferente dos full nodes, que fazem a limpeza regular de dados antigos.

<ImageBlock
  src="https://media.alchemy.com/1704095252-ethereum-archive-node-size.png"
  alt="Um gráfico mostrando o aumento histórico no tamanho médio de um archive node do Ethereum."
  width={1600}
  height={652}
  caption="Um gráfico mostrando o aumento histórico no tamanho médio de um archive node do Ethereum. [Fonte]"
/>

## Por que usar archive nodes?

Os archive nodes fornecem um meio de acessar informações históricas sobre a blockchain. Isso é útil se você precisa de dados mais antigos do que os contidos nos últimos 128 blocos \(que estariam disponíveis via full nodes\).

Aqui estão dois casos de uso para archive nodes do Ethereum:

### 1. Auditoria de informações históricas de blockchains

Se você está construindo um serviço para auditar uma blockchain ou coletar dados históricos específicos, um archive node é ideal. Um bom caso de uso seria a construção de um blockchain explorer \([Etherscan](https://www.alchemy.com/dapps/etherscan)\), uma ferramenta de análise on-chain \([Dune Analytics](https://www.alchemy.com/dapps/dune-analytics)\) ou uma carteira de criptomoedas.

Esses serviços dependem de archive nodes para consultar e servir dados de estado antigos aos usuários. Por exemplo, você pode obter informações sobre o primeiro bloco minerado no Ethereum usando o Etherscan. Da mesma forma, o Dune Analytics pode mostrar o [total de usuários do Uniswap desde o início](https://dune.com/queries/2740).

### 2. Desenvolvimento de dapp

Executar seu próprio nó é geralmente um requisito mínimo para construir um dApp. Um full node é útil se você só precisa fazer coisas como enviar transações, analisar mempools de transações, escutar eventos de smart contracts e consultar informações recentes da blockchain.

No entanto, consultar qualquer informação além dos primeiros 128 blocos usando um full node vai gerar um erro. Os full nodes eliminam dados da blockchain e mantêm apenas os dados mínimos necessários para verificar o estado da rede.

Seu projeto de dApp precisa executar um archive node para consultar dados históricos da blockchain _rapidamente_. Essa última parte é importante porque, embora seja possível construir dados históricos com full nodes, isso leva mais tempo. Com um archive node, coisas como obter o saldo de uma conta em um determinado número de bloco são operações simples e rápidas.

Exemplos de [apps](https://www.alchemy.com/dapps/top/defi-dapps) que podem precisar de acesso a um archive node incluem:

- Serviços de reputação on-chain \(por exemplo, DegenScore\) que rastreiam a atividade do usuário ao longo de um grande período de tempo.
- Plataformas de governança \(por exemplo, Tally, [Snapshot](https://www.alchemy.com/dapps/snapshot)\) que permitem aos usuários discutir e votar em propostas de governança.

O elemento comum que une esses exemplos de dApps e outros semelhantes é **a necessidade de consultar dados históricos on-chain**.

## Como você executa um archive node?

Executar um archive node exige um cliente de nó e hardware mais robusto em comparação com as necessidades de hardware de full nodes ou light clients.

Os archive nodes _são_ úteis para recuperar dados de estado históricos sem depender de provedores terceirizados. Eles podem colocar você no controle das suas informações, especialmente se precisar delas para fins específicos \(como conformidade fiscal\). Mas, devido à grande quantidade de informações que precisam armazenar e processar, atender aos requisitos adequados de hardware é uma necessidade.

### O que é um cliente de archive node?

**Um cliente de archive node é uma implementação da blockchain que você pode executar localmente.** Os clientes permitem que os nós \(incluindo archive nodes\) interajam com outros peers e acessem dados da blockchain. Para executar um archive node do Ethereum sem problemas, você precisa de um cliente de nó confiável e performático.

### Quais são alguns clientes de archive node populares?

Os clientes de archive node mais populares e confiáveis são Go Ethereum \(Geth\), Erigon, Nethermind e Besu. Podemos entender melhor esses clientes analisando cada um deles com mais profundidade:

#### Archive node do Geth

O Geth é uma das primeiras implementações de cliente desenvolvidas para a blockchain do Ethereum. É também o principal cliente usado pelos nós do Ethereum. O Geth conta com um amplo conjunto de ferramentas e funcionalidades para os usuários. É escrito em Go e está disponível publicamente sob a licença GNU Lesser Public License. Saiba mais sobre [como executar um archive node com Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one).

#### Archive node do Erigon

O Erigon é outro cliente Ethereum baseado em Go para usuários de nós. O Erigon oferece acesso a armazenamento de estado eficiente, tempos de sincronização mais rápidos, análises via dashboard do Grafana e um daemon JSON-RPC útil. Saiba mais sobre[ como executar um archive node com Erigon](https://github.com/ledgerwatch/erigon).

#### Archive node do Nethermind

O Nethermind é uma implementação do protocolo Ethereum construída usando o framework C\# .NET. O Nethermind afirma ser o cliente Ethereum mais rápido disponível e oferece estabilidade, segurança, confiabilidade e integridade dos dados. Saiba mais sobre[ como executar um archive node com Nethermind](https://docs.nethermind.io/nethermind/ethereum-client/sync-modes#archive-sync).

#### Archive node do Besu

O Hyperledger Besu é um cliente Ethereum projetado para usuários corporativos, embora também funcione para indivíduos. O Besu é escrito em Java e oferece funcionalidades úteis, incluindo tracing, GraphQL API e monitoramento extensivo. Saiba mais sobre [como executar um archive node com Besu](https://besu.hyperledger.org/en/stable/Concepts/Node-Types/#run-an-archive-node).

### Qual hardware você precisa para executar um archive node?

Como os archive nodes realizam mais operações de leitura e escrita e usam mais RAM e CPU do que outros tipos de nós, pode ser necessário investir em hardware especializado para compensar suas tarefas de alto consumo computacional.

Abaixo está uma lista de requisitos para executar um archive node do Ethereum:

Sistema operacional: Windows, Linux ou macOS

Processador: Intel i7 ou equivalente

Armazenamento: Solid State Drive \(SSD\) com pelo menos 8-10 TB de espaço

RAM: RAM disk com pelo menos 16-32GB

**CPU:** CPU com 4\+ núcleos

**Largura de banda:** Velocidades de 25\+ MB/s

Depois de configurar o hardware do seu nó e o cliente, você pode começar a trabalhar com a blockchain do Ethereum usando bibliotecas frontend \(ethers.js/[web3.js](https://www.alchemy.com/dapps/web3-js)\) e [chamadas JSON-RPC](https://www.wallarm.com/what/what-is-json-rpc). Por exemplo, você pode tentar obter o saldo de um endereço antigo chamando a função \`eth_getBalance\`.

## Acesso gratuito a archive node na Alchemy

Como já explicamos, executar um archive node do Ethereum exige um investimento enorme. Isso sem contar o tempo e a energia necessários para gerenciar o próprio archive node, especialmente se ele sair de sincronia. Mas você pode evitar tudo isso conectando-se a um endpoint de archive node gerenciado por um provedor de nós, como a Alchemy.

O [Supernode](https://www.alchemy.com/supernode?a=b4f033deab) da Alchemy suporta requisições ilimitadas para dados de archive e fornece acesso a todas as informações históricas da blockchain que você precisar. A melhor parte? Você pode se conectar a um archive node _de graça_.

A Alchemy [oferece acesso irrestrito a archive nodes](https://www.alchemy.com/blog/more-capacity-lower-prices) mesmo para usuários no plano gratuito do Supernode. Isso significa que você pode acessar dados on-chain antigos e até mesmo dar fork em toda a chain desde o gênesis, sem pagar taxas adicionais. A Alchemy inclui acesso a [archive nodes para Polygon](https://www.alchemy.com/blog/polygon-archive-node-limit), Ethereum e muitas outras chains populares.

<ImageBlock
  src="https://media.alchemy.com/1704095403-running-node-vs-using-node-provider.jpeg"
  alt="Um diagrama mostrando a diferença entre rodar um node e usar um provedor de node como a Alchemy."
  width={1600}
  height={1029}
  caption="Um diagrama mostrando a diferença entre rodar um node e usar um provedor de node como a Alchemy."
/>

### Como se conectar a archive nodes completos na Alchemy?

Aqui está o processo passo a passo para se conectar a archive nodes com a Alchemy:

1. [Cadastre-se](https://dashboard.alchemy.com/signup?a=b4f033deab) para criar uma conta \(é grátis!\) e crie seu primeiro projeto.

2. [Crie sua Alchemy key](https://www.alchemy.com/docs/alchemy-quickstart-guide). Esse é o endpoint de URL para se conectar ao seu archive node.

3. Comece a enviar requisições a partir da interface de linha de comando para a blockchain do Ethereum, buscando dados de archive.

### Conclusão

Os archive nodes podem armazenar estados passados da blockchain que vão além dos últimos 128 blocos. Se seu dApp ou serviço Web3 precisa acessar dados históricos da blockchain, executar um archive node é uma decisão óbvia. Mas tenha em mente que as exigências de executar um archive node totalmente funcional podem desanimar desenvolvedores e travar planos de desenvolvimento.

O [Supernode](https://www.alchemy.com/supernode?a=b4f033deab) da Alchemy resolve esse problema conectando usuários a archive nodes que usam endpoints de URL gratuitos. Com a Alchemy, executar um archive node do Ethereum nunca foi tão fácil!
