Запуск узла Ethereum на Raspeberry Pi 4
Ethereum on Arm — это специальный образ Linux, который может превратить Raspberry Pi в узел Ethereum.
Чтобы использовать Ethereum on Arm для превращения Raspberry Pi в узел Ethereum, рекомендуется следующее оборудование:
- Платы Raspberry 4 (модель B, 8 ГБ), Odroid M1 или Rock 5B (8/16 ГБ ОЗУ)
- Карта MicroSD (минимум 16 ГБ, класс 10)
- SSD-диск объемом не менее 2 ТБ с интерфейсом USB 3.0 или SSD-диск с корпусом-переходником USB-SATA.
- Блок питания
- Кабель Ethernet
- Переадресация портов (для получения дополнительной информации см. раздел «Клиенты»)
- Корпус с радиатором и вентилятором
- USB-клавиатура, монитор и кабель HDMI (micro-HDMI) (необязательно)
Зачем запускать Ethereum на ARM?
Платы ARM — это очень доступные, гибкие и небольшие компьютеры. Они хорошо подходят для запуска узлов Ethereum, потому что их можно дешево купить, настроить так, чтобы все их ресурсы были сосредоточены только на узле, что делает их эффективными, они потребляют мало энергии и физически малы, поэтому могут незаметно разместиться в любом доме. Также очень легко запустить узлы, потому что MicroSD-карту Raspberry Pi можно просто прошить готовым образом, не требуя загрузки или сборки программного обеспечения.
Как это работает?
Карта памяти Raspberry Pi прошивается готовым образом. Этот образ содержит все необходимое для запуска узла Ethereum. С прошитой картой все, что нужно сделать пользователю, это включить Raspberry Pi. Все процессы, необходимые для запуска узла, запускаются автоматически. Это работает, потому что на карте памяти установлена операционная система (ОС) на базе Linux, поверх которой автоматически запускаются системные процессы, превращающие устройство в узел Ethereum.
Ethereum нельзя запустить на популярной ОС для Raspberry Pi "Raspbian", так как Raspbian все еще использует 32-битную архитектуру, что приводит к проблемам с памятью у пользователей Ethereum, а клиенты консенсуса не поддерживают 32-битные двоичные файлы. Чтобы решить эту проблему, команда Ethereum on Arm перешла на нативную 64-битную ОС под названием "Armbian".
Образы берут на себя все необходимые шаги: от настройки среды и форматирования SSD-диска до установки и запуска программного обеспечения Ethereum, а также запуска синхронизации блокчейна.
Примечание о клиентах исполнения и клиентах консенсуса
Образ Ethereum on Arm включает в себя готовые клиенты исполнения и клиенты консенсуса в качестве служб. Для узла Ethereum требуется, чтобы оба клиента были синхронизированы и запущены. Вам нужно только скачать и прошить образ, а затем запустить службы. В образ предварительно загружены следующие клиенты исполнения:
- Geth
- Nethermind
- Besu
и следующие клиенты консенсуса:
- Lighthouse
- Nimbus
- Prysm
- Teku
Вам нужно выбрать по одному клиенту каждого типа для запуска — все клиенты исполнения совместимы со всеми клиентами консенсуса. Если вы не выберете клиент явно, узел вернется к настройкам по умолчанию — Geth и Lighthouse — и запустит их автоматически при включении платы. Вы должны открыть порт 30303 на своем маршрутизаторе, чтобы Geth мог находить пиров и подключаться к ним.
Загрузка образа
Образ Ethereum для Raspberry Pi 4 — это образ "plug and play", который автоматически устанавливает и настраивает как клиенты исполнения, так и клиенты консенсуса, настраивая их для взаимодействия друг с другом и подключения к сети Ethereum. Все, что нужно сделать пользователю, — это запустить их процессы с помощью простой команды.
Загрузите образ Raspberry Pi с Ethereum on Arm (opens in a new tab) и проверьте хэш SHA256:
1# Из каталога, содержащего загруженный образ2shasum -a 256 ethonarm_22.04.00.img.zip3# Хэш должен вывести: fb497e8f8a7388b62d6e1efbc406b9558bee7ef46ec7e53083630029c117444fОбратите внимание, что образы для плат Rock 5B и Odroid M1 доступны на странице загрузок (opens in a new tab) Ethereum-on-Arm.
Прошивка MicroSD
Карту MicroSD, которая будет использоваться для Raspberry Pi, следует сначала вставить в настольный компьютер или ноутбук, чтобы ее можно было прошить. Затем следующие команды терминала прошьют загруженный образ на SD-карту:
1# проверьте имя карты MicroSD2sudo fdisk -l34>> sdxxxОчень важно правильно указать имя, потому что следующая команда включает dd, которая полностью стирает существующее содержимое карты перед записью образа на нее. Чтобы продолжить, перейдите в каталог, содержащий заархивированный образ:
1# разархивируйте и прошейте образ2unzip ethonarm_22.04.00.img.zip3sudo dd bs=1M if=ethonarm_22.04.00.img of=/dev/<sdxx> conv=fdatasync status=progressТеперь карта прошита, поэтому ее можно вставить в Raspberry Pi.
Запуск узла
Вставив SD-карту в Raspberry Pi, подключите кабель Ethernet и SSD, а затем включите питание. ОС загрузится и автоматически начнет выполнять предварительно настроенные задачи, которые превращают Raspberry Pi в узел Ethereum, включая установку и сборку клиентского программного обеспечения. Это, вероятно, займет 10-15 минут.
После того, как все будет установлено и настроено, войдите в систему на устройстве через ssh-соединение или используя терминал напрямую, если к плате подключены монитор и клавиатура. Для входа используйте аккаунт ethereum, так как он имеет необходимые разрешения для запуска узла.
1Пользователь: ethereum2Пароль: ethereumКлиент исполнения по умолчанию, Geth, запустится автоматически. Вы можете подтвердить это, проверив журналы с помощью следующей команды терминала:
1sudo journalctl -u geth -fКлиент консенсуса необходимо запустить явно. Для этого сначала откройте порт 9000 на своем маршрутизаторе, чтобы Lighthouse мог находить пиров и подключаться к ним. Затем включите и запустите службу Lighthouse:
1sudo systemctl enable lighthouse-beacon2sudo systemctl start lighthouse-beaconПроверьте клиент с помощью журналов:
1sudo journalctl -u lighthouse-beaconОбратите внимание, что клиент консенсуса синхронизируется за несколько минут, поскольку он использует синхронизацию по контрольным точкам. Клиент исполнения будет синхронизироваться дольше — возможно, несколько часов, и он не запустится, пока клиент консенсуса не завершит синхронизацию (это связано с тем, что клиенту исполнения нужна цель для синхронизации, которую предоставляет синхронизированный клиент консенсуса).
Когда службы Geth и Lighthouse запущены и синхронизированы, ваш Raspberry Pi становится узлом Ethereum! Чаще всего с сетью Ethereum взаимодействуют с помощью Javascript-консоли Geth, которую можно подключить к клиенту Geth через порт 8545. Также можно отправлять команды в формате объектов JSON с помощью инструмента для запросов, такого как Curl. Подробнее см. в документации Geth (opens in a new tab).
Geth предварительно настроен для отправки метрик на панель Grafana, которую можно просматривать в браузере. Более продвинутые пользователи могут захотеть использовать эту функцию для мониторинга состояния своего узла, перейдя по адресу ipaddress:3000 и указав user: admin и passwd: ethereum.
Валидаторы
К клиенту консенсуса также можно дополнительно добавить валидатор. Программное обеспечение валидатора позволяет вашему узлу активно участвовать в консенсусе и обеспечивает криптоэкономическую безопасность сети. За эту работу вы получаете вознаграждение в ETH. Чтобы запустить валидатор, у вас должно быть 32 ETH, которые необходимо внести на депозитный контракт. Депозит можно внести, следуя пошаговому руководству на Лаунчпад (opens in a new tab). Сделайте это на настольном компьютере/ноутбуке, но не генерируйте ключи — это можно сделать непосредственно на Raspberry Pi.
Откройте терминал на Raspberry Pi и выполните следующую команду для генерации ключей депозита:
1sudo apt-get update2sudo apt-get install staking-deposit-cli3cd && deposit new-mnemonic --num_validators 1(Или загрузите staking-deposit-cli (opens in a new tab) для запуска на изолированной машине и выполните команду deposit new-mnemnonic)
Храните мнемоническую фразу в безопасности! Приведенная выше команда сгенерировала два файла в хранилище ключей узла: ключи валидатора и файл данных депозита. Данные депозита необходимо загрузить в Лаунчпад, поэтому их нужно скопировать с Raspberry Pi на настольный компьютер/ноутбук. Это можно сделать с помощью ssh-соединения или любым другим методом копирования и вставки.
Как только файл данных депозита станет доступен на компьютере, на котором запущен Лаунчпад, его можно перетащить на значок + на экране Лаунчпада. Следуйте инструкциям на экране, чтобы отправить транзакцию на депозитный контракт.
Вернувшись к Raspberry Pi, можно запустить валидатор. Это требует импорта ключей валидатора, установки адреса для сбора вознаграждений, а затем запуска предварительно настроенного процесса валидатора. Пример ниже приведен для Lighthouse — инструкции для других клиентов консенсуса доступны в документации Ethereum on Arm (opens in a new tab):
1# импортируйте ключи валидатора2lighthouse account validator import --directory=/home/ethereum/validator_keys34# установите адрес для вознаграждений5sudo sed -i 's/<ETH_ADDRESS>' /etc/ethereum/lighthouse-validator.conf67# запустите валидатор8sudo systemctl start lighthouse-validatorПоздравляем, теперь у вас есть полноценный узел и валидатор Ethereum, работающий на Raspberry Pi!
Подробнее
На этой странице был представлен обзор того, как настроить узел и валидатор Geth-Lighthouse с помощью Raspberry Pi. Более подробные инструкции доступны на веб-сайте Ethereum-on-Arm (opens in a new tab).
Мы будем рады отзывам
Мы знаем, что у Raspberry Pi огромная база пользователей, которая может оказать очень положительное влияние на здоровье сети Ethereum. Пожалуйста, вникните в детали этого руководства, попробуйте запустить его в тестовых сетях, загляните на GitHub Ethereum on Arm, оставляйте отзывы, сообщайте о проблемах, создавайте запросы на слияние и помогайте развивать технологию и документацию!
Ссылки
- 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)
Последнее обновление страницы: 26 февраля 2026 г.