Execute um nó Ethereum em um Raspberry Pi 4
O Ethereum on Arm é uma imagem Linux personalizada que pode transformar um Raspberry Pi em um nó Ethereum.
Para usar o Ethereum on Arm para transformar um Raspberry Pi em um nó Ethereum, o seguinte hardware é recomendado:
- Placa Raspberry 4 (modelo B 8GB), Odroid M1 ou Rock 5B (8GB/16GB de RAM)
- Cartão MicroSD (mínimo de 16 GB Classe 10)
- Disco SSD de no mínimo 2 TB com USB 3.0 ou um SSD com um case USB para SATA.
- Fonte de alimentação
- Cabo de Ethernet
- Encaminhamento de porta (consulte os clientes para obter mais informações)
- Um case com dissipador de calor e ventoinha
- Teclado USB, monitor e cabo HDMI (micro-HDMI) (Opcional)
Por que executar o Ethereum em ARM?
As placas ARM são computadores pequenos, flexíveis e muito acessíveis. Elas são boas escolhas para executar nós Ethereum por serem baratas e configuráveis para que todos os seus recursos se concentrem apenas no nó, tornando-as eficientes. Consomem pouca energia e são fisicamente pequenas, cabendo discretamente em qualquer casa. Também é muito fácil iniciar nós, pois o MicroSD do Raspberry Pi pode simplesmente ser gravado com uma imagem pré-construída, sem a necessidade de baixar ou construir nenhum software.
Como isso funciona?
O cartão de memória do Raspberry Pi é gravado com uma imagem pré-construída. Esta imagem contém tudo o que é necessário para executar um nó da Ethereum. Com um cartão flasheado, tudo o que o usuário precisa fazer é ligar o Raspberry Pi. Todos os processos necessários para executar o nó são iniciados automaticamente. Isso funciona porque o cartão de memória contém um sistema operacional (SO) baseado em Linux, sobre o qual processos de nível de sistema são executados automaticamente que transformam a unidade em um nó Ethereum.
O Ethereum não pode ser executado usando o popular SO Linux para Raspberry Pi "Raspbian", pois o Raspbian ainda usa uma arquitetura de 32 bits, o que leva os usuários do Ethereum a terem problemas de memória, e os clientes de consenso não suportam binários de 32 bits. Para superar isso, a equipe Ethereum on Arm migrou para um SO nativo de 64 bits chamado "Armbian".
As imagens cuidam de todas as etapas necessárias, desde a configuração do ambiente e a formatação do disco SSD até a instalação e execução do software Ethereum, bem como o início da sincronização da cadeia de blocos.
Nota sobre clientes de execução e de consenso
A imagem do Ethereum on Arm inclui clientes de execução e de consenso pré-construídos como serviços. Um nó Ethereum exige que ambos os clientes estejam sincronizados e em execução. Você só precisa baixar e gravar a imagem e, em seguida, iniciar os serviços. A imagem é pré-carregada com os seguintes clientes de execução:
- Geth
- Nethermind
- Besu
e os seguintes clientes de consenso:
- Lighthouse
- Nimbus
- Prysm
- Teku
Você deve escolher um de cada para executar. Todos os clientes de execução são compatíveis com todos os clientes de consenso. Se você não selecionar explicitamente um cliente, o nó voltará aos padrões — Geth e Lighthouse — e os executará automaticamente quando a placa for ligada. Você precisa abrir a porta 30303 no seu roteador para que o Geth possa encontrar e se conectar aos pares.
Baixando a imagem
A imagem Ethereum para Raspberry Pi 4 é uma imagem "plug and play" que instala e configura automaticamente os clientes de execução e de consenso, configurando-os para se comunicarem e se conectarem à rede Ethereum. Tudo o que o usuário precisa fazer é iniciar seus processos usando um comando simples.
Baixe a imagem do Raspberry Pi do Ethereum on Arm (opens in a new tab) e verifique o hash SHA256:
1# Do diretório que contém a imagem baixada2shasum -a 256 ethonarm_22.04.00.img.zip3# A saída do hash deve ser: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444fObserve que as imagens para as placas Rock 5B e Odroid M1 estão disponíveis na página de downloads (opens in a new tab) do Ethereum-on-Arm.
Gravando a imagem no MicroSD
O cartão MicroSD que será usado para o Raspberry Pi deve primeiro ser inserido em um desktop ou laptop para que possa ser gravado. Em seguida, os seguintes comandos do terminal gravarão a imagem baixada no cartão SD:
1# verifique o nome do cartão MicroSD2sudo fdisk -l34>> sdxxxÉ muito importante usar o nome correto, pois o próximo comando inclui dd, que apaga completamente o conteúdo existente do cartão antes de gravar a imagem nele. Para continuar, navegue até o diretório que contém a imagem compactada:
1# descompacte e grave a imagem2unzip ethonarm_22.04.00.img.zip3sudo dd bs=1M if=ethonarm_22.04.00.img of=/dev/<sdxx> conv=fdatasync status=progressO cartão agora está gravado, então pode ser inserido no Raspberry Pi.
Inicie o nó
Com o cartão SD inserido no Raspberry Pi, conecte o cabo de Ethernet e o SSD e, em seguida, ligue o dispositivo. O SO será inicializado e começará a executar automaticamente as tarefas pré-configuradas que transformam o Raspberry Pi em um nó Ethereum, incluindo a instalação e a criação do software do cliente. Isso provavelmente levará de 10 a 15 minutos.
Depois que tudo estiver instalado e configurado, faça login no dispositivo por meio de uma conexão ssh ou usando o terminal diretamente se um monitor e um teclado estiverem conectados à placa. Use a conta ethereum para fazer login, pois ela tem as permissões necessárias para iniciar o nó.
1Usuário: ethereum2Senha: ethereumO cliente de execução padrão, Geth, iniciará automaticamente. Você pode confirmar isso verificando os logs com o seguinte comando de terminal:
1sudo journalctl -u geth -fO cliente de consenso precisa ser iniciado explicitamente. Para fazer isso, primeiro abra a porta 9000 no seu roteador para que o Lighthouse possa encontrar e se conectar aos pares. Em seguida, ative e inicie o serviço Lighthouse:
1sudo systemctl enable lighthouse-beacon2sudo systemctl start lighthouse-beaconVerifique o cliente usando os logs:
1sudo journalctl -u lighthouse-beaconObserve que o cliente de consenso será sincronizado em poucos minutos, pois ele usa a sincronização por checkpoint. O cliente de execução levará mais tempo (potencialmente várias horas) e não será iniciado até que o cliente de consenso termine a sincronização (isso ocorre porque o cliente de execução precisa de um alvo para sincronizar, que é fornecido pelo cliente de consenso já sincronizado).
Com os serviços Geth e Lighthouse em execução e sincronizados, seu Raspberry Pi agora é um nó Ethereum! É mais comum interagir com a rede Ethereum utilizando o console Javascript do Geth, que pode ser anexado ao cliente Geth na porta 8545. Também é possível enviar comandos formatados como objetos JSON usando uma ferramenta de solicitação como o Curl. Veja mais na documentação do Geth (opens in a new tab).
O Geth é pré-configurado para relatar métricas a um painel do Grafana que pode ser visualizado no navegador. Usuários mais avançados podem querer usar este recurso para monitorar a saúde de seu nó navegando para ipaddress:3000, passando usuário: admin e senha: ethereum.
Validadores
Um validador também pode ser adicionado opcionalmente ao cliente de consenso. O software do validador permite que seu nó participe ativamente do consenso e fornece segurança criptoeconômica à rede. Você é recompensado por este trabalho em ETH. Para executar um validador, você deve primeiro ter 32 ETH, que devem ser depositados no contrato de depósito. O depósito pode ser feito seguindo o guia passo a passo na Plataforma de lançamento (opens in a new tab). Faça isso em um desktop/laptop, mas não gere chaves — isso pode ser feito diretamente no Raspberry Pi.
Abra um terminal no Raspberry Pi e execute o seguinte comando para gerar as chaves de depósito:
1sudo apt-get update2sudo apt-get install staking-deposit-cli3cd && deposit new-mnemonic --num_validators 1(Ou baixe o staking-deposit-cli (opens in a new tab) para executar em uma máquina isolada (air-gapped) e execute o comando deposit new-mnemnonic)
Mantenha a frase mnemônica segura! O comando acima gerou dois arquivos no keystore do nó: as chaves do validador e um arquivo de dados de depósito. Os dados de depósito precisam ser carregados na plataforma de lançamento, portanto, eles devem ser copiados do Raspberry Pi para o desktop/laptop. Isso pode ser feito usando uma conexão ssh ou qualquer outro método de copiar/colar.
Quando o arquivo de dados de depósito estiver disponível no computador que executa a plataforma de lançamento, ele poderá ser arrastado e solto no + na tela da plataforma de lançamento. Siga as instruções na tela para enviar uma transação para o contrato de depósito.
De volta ao Raspberry Pi, um validador pode ser iniciado. Isso requer importar as chaves do validador, definir o endereço para coletar recompensas e, em seguida, iniciar o processo do validador pré-configurado. O exemplo abaixo é para o Lighthouse — as instruções para outros clientes de consenso estão disponíveis nos documentos do Ethereum on Arm (opens in a new tab):
1# importe as chaves do validador2lighthouse account validator import --directory=/home/ethereum/validator_keys34# defina o endereço de recompensa5sudo sed -i 's/<ETH_ADDRESS>' /etc/ethereum/lighthouse-validator.conf67# inicie o validador8sudo systemctl start lighthouse-validatorParabéns, agora você tem um nó e validador Ethereum completos em execução em um Raspberry Pi!
Mais detalhes
Esta página deu uma visão geral de como configurar um nó e validador Geth-Lighthouse usando Raspberry Pi. Instruções mais detalhadas estão disponíveis no site do Ethereum-on-Arm (opens in a new tab).
Agradecemos o seu feedback
Sabemos que o Raspberry Pi tem uma enorme base de usuários, que pode ter um impacto muito positivo na saúde da rede Ethereum. Por favor, aprofunde-se nos detalhes deste tutorial, tente executá-lo em redes de teste, confira o GitHub do Ethereum on Arm, dê seu feedback, relate problemas e envie pull requests para ajudar no avanço da tecnologia e da documentação!
Referências
- https://ubuntu.com/download/raspberry-pi (opens in a new tab)
- https://wikipedia.org/wiki/Port_forwarding (opens in a new tab)
- https://prometheus.io (opens in a new tab)
- https://grafana.com (opens in a new tab)
- https://forum.armbian.com/topic/5565-zram-vs-swap/ (opens in a new tab)
- https://geth.ethereum.org (opens in a new tab)
- https://nethermind.io (opens in a new tab)
- https://www.hyperledger.org/projects/besu (opens in a new tab)
- https://github.com/prysmaticlabs/prysm (opens in a new tab)
- https://lighthouse.sigmaprime.io (opens in a new tab)
- https://ethersphere.github.io/swarm-home (opens in a new tab)
- https://raiden.network (opens in a new tab)
- https://ipfs.io (opens in a new tab)
- https://status.im (opens in a new tab)
- https://vipnode.org (opens in a new tab)
Última atualização da página: 26 de fevereiro de 2026