Запустіть власний вузол Етеріуму
Запуск власного вузла надає вам різні переваги, відкриває нові можливості та допомагає підтримувати екосистему. Ця сторінка допоможе вам запустити власний вузол і взяти участь у перевірці транзакцій Етеріуму.
Зверніть увагу, що після Злиття для запуску вузла Етеріуму потрібні два клієнти: клієнт рівня виконання (EL) та клієнт рівня консенсусу (CL). Ця сторінка покаже, як встановити, налаштувати та підключити ці два клієнти для запуску вузла Етеріуму.
Передумови
Ви повинні розуміти, що таке вузол Етеріуму і навіщо вам може знадобитися запуск клієнта. Це розглядається в розділі Вузли та клієнти.
Якщо ви новачок у темі запуску вузла або шукаєте менш технічний шлях, ми рекомендуємо спочатку ознайомитися з нашим зручним для користувача вступом до запуску вузла Етеріуму.
Вибір підходу
Першим кроком у запуску вашого вузла є вибір підходу. На основі вимог та різних можливостей ви повинні вибрати реалізацію клієнта (як клієнта виконання, так і клієнта консенсусу), середовище (апаратне забезпечення, систему) та параметри для налаштувань клієнта.
Ця сторінка проведе вас через ці рішення та допоможе знайти найбільш підхожий спосіб запуску вашого екземпляра Етеріуму.
Щоб вибрати з реалізацій клієнтів, перегляньте всі доступні клієнти виконання та клієнти консенсусу, готові до роботи в Головній мережі, і дізнайтеся про різноманітність клієнтів.
Вирішіть, чи запускати програмне забезпечення на власному апаратному забезпеченні, чи в хмарі, враховуючи вимоги клієнтів.
Після підготовки середовища встановіть вибрані клієнти за допомогою зручного для початківців інтерфейсу або вручну через термінал із розширеними параметрами.
Коли вузол працює та синхронізується, ви готові використовувати його, але не забувайте стежити за його обслуговуванням.
Середовище та апаратне забезпечення
Локально чи в хмарі
Клієнти Етеріуму можуть працювати на звичайних комп'ютерах і не вимагають спеціального апаратного забезпечення, як-от машин для майнінгу. Тому у вас є різні варіанти розгортання вузла залежно від ваших потреб. Для спрощення розгляньмо запуск вузла як на локальній фізичній машині, так і на хмарному сервері:
- Хмара
- Провайдери пропонують високий час безперебійної роботи серверів і статичні публічні IP-адреси
- Оренда виділеного або віртуального сервера може бути зручнішою, ніж збирання власного
- Компромісом є довіра третій стороні — провайдеру сервера
- Через необхідний обсяг пам'яті для повного вузла ціна орендованого сервера може бути високою
- Власне апаратне забезпечення
- Більш бездовірчий і суверенний підхід
- Одноразова інвестиція
- Можливість придбати попередньо налаштовані машини
- Вам доведеться фізично підготувати, обслуговувати та, можливо, усувати несправності машини й мережі
Обидва варіанти мають різні переваги, підсумовані вище. Якщо ви шукаєте хмарне рішення, окрім багатьох традиційних провайдерів хмарних обчислень, існують також сервіси, орієнтовані на розгортання вузлів. Перегляньте вузли як послугу, щоб дізнатися більше про варіанти розміщення вузлів.
Апаратне забезпечення
Однак стійка до цензури, децентралізована мережа не повинна покладатися на хмарних провайдерів. Натомість запуск вузла на власному локальному апаратному забезпеченні є кориснішим для екосистеми. Оцінки (opens in a new tab) показують, що велика частка вузлів працює в хмарі, що може стати єдиною точкою відмови.
Клієнти Етеріуму можуть працювати на вашому комп'ютері, ноутбуці, сервері або навіть на одноплатному комп'ютері. Хоча запуск клієнтів на персональному комп'ютері можливий, наявність виділеної машини лише для вашого вузла може значно підвищити його продуктивність і безпеку, мінімізуючи вплив на ваш основний комп'ютер.
Використовувати власне апаратне забезпечення може бути дуже просто. Існує багато простих варіантів, а також розширених налаштувань для більш технічно обізнаних людей. Тож розгляньмо вимоги та засоби для запуску клієнтів Етеріуму на вашій машині.
Вимоги
Вимоги до апаратного забезпечення відрізняються залежно від клієнта, але загалом вони не такі високі, оскільки вузлу потрібно лише залишатися синхронізованим. Не плутайте це з майнінгом, який вимагає набагато більшої обчислювальної потужності. Однак час синхронізації та продуктивність покращуються з потужнішим апаратним забезпеченням.
Перед встановленням будь-якого клієнта переконайтеся, що ваш комп'ютер має достатньо ресурсів для його запуску. Нижче ви можете знайти мінімальні та рекомендовані вимоги.
Вузьким місцем для вашого апаратного забезпечення здебільшого є дисковий простір. Синхронізація блокчейну Етеріуму дуже інтенсивно використовує введення/виведення та потребує багато місця. Найкраще мати твердотільний накопичувач (SSD) із сотнями гігабайтів вільного місця навіть після синхронізації.
Розмір бази даних і швидкість початкової синхронізації залежать від вибраного клієнта, його конфігурації та стратегії синхронізації.
Також переконайтеся, що ваше інтернет-з'єднання не обмежене лімітом пропускної здатності (opens in a new tab). Рекомендується використовувати з'єднання без тарифікації трафіку, оскільки початкова синхронізація та дані, що транслюються в мережу, можуть перевищити ваш ліміт.
Операційна система
Усі клієнти підтримують основні операційні системи — Linux, macOS, Windows. Це означає, що ви можете запускати вузли на звичайних настільних або серверних машинах з операційною системою (ОС), яка вам найбільше підходить. Переконайтеся, що ваша ОС оновлена, щоб уникнути потенційних проблем і вразливостей безпеки.
Мінімальні вимоги
- Процесор із 2+ ядрами
- 8 ГБ оперативної пам'яті
- 2 ТБ SSD
- Пропускна здатність 10+ Мбіт/с
Рекомендовані характеристики
- Швидкий процесор із 4+ ядрами
- 16+ ГБ оперативної пам'яті
- Швидкий SSD на 2+ ТБ
- Пропускна здатність 25+ Мбіт/с
Вибраний вами режим синхронізації та клієнт впливатимуть на вимоги до простору, але нижче ми оцінили дисковий простір, який вам знадобиться для кожного клієнта.
| Клієнт | Розмір диска (швидка синхронізація) | Розмір диска (повний архів) |
|---|---|---|
| Бесу | 800+ ГБ | 12+ ТБ |
| Ерігон | Н/Д | 2,5+ ТБ |
| Geth | 500+ ГБ | 12+ ТБ |
| Незермайнд | 500+ ГБ | 12+ ТБ |
| Рет | Н/Д | 2,2+ ТБ |
- Примітка: Ерігон та Рет не пропонують швидку синхронізацію (snap sync), але можливе повне обрізання (Full Pruning) (~2 ТБ для Ерігон, ~1,2 ТБ для Рет).
Для клієнтів консенсусу вимоги до простору також залежать від реалізації клієнта та ввімкнених функцій (наприклад, слешер валідатора), але загалом розраховуйте на додаткові 200 ГБ, необхідні для даних маякового вузла. З великою кількістю валідаторів навантаження на пропускну здатність також зростає. Ви можете знайти деталі щодо вимог до клієнтів консенсусу в цьому аналізі (opens in a new tab).
Готові рішення (plug-and-play)
Найпростіший варіант для запуску вузла на власному апаратному забезпеченні — використання готових рішень (plug-and-play). Попередньо налаштовані машини від постачальників пропонують найпростіший досвід: замовте, підключіть, запустіть. Усе попередньо налаштовано та працює автоматично з інтуїтивно зрозумілим посібником і панеллю інструментів для моніторингу та керування програмним забезпеченням.
Етеріум на одноплатному комп'ютері
Простий і дешевий спосіб запуску вузла Етеріуму — використання одноплатного комп'ютера, навіть з архітектурою ARM, як-от Raspberry Pi. Ethereum on ARM (opens in a new tab) надає прості для запуску образи кількох клієнтів виконання та консенсусу для Raspberry Pi та інших плат ARM.
Такі невеликі, доступні та ефективні пристрої ідеально підходять для запуску вузла вдома, але пам'ятайте про їхню обмежену продуктивність.
Запуск вузла
Фактичне налаштування клієнта можна виконати або за допомогою автоматизованих лаунчерів, або вручну, налаштувавши програмне забезпечення клієнта безпосередньо.
Для менш досвідчених користувачів рекомендованим підходом є використання лаунчера — програмного забезпечення, яке проводить вас через встановлення та автоматизує процес налаштування клієнта. Однак, якщо у вас є певний досвід використання термінала, кроки для ручного налаштування повинні бути простими для виконання.
Кероване налаштування
Кілька зручних для користувача проєктів мають на меті покращити досвід налаштування клієнта. Ці лаунчери забезпечують автоматичне встановлення та конфігурацію клієнта, а деякі навіть пропонують графічний інтерфейс для керованого налаштування та моніторингу клієнтів.
Нижче наведено кілька проєктів, які можуть допомогти вам встановити клієнти та керувати ними лише кількома кліками:
- DAppNode (opens in a new tab) — DAppNode постачається не лише з машиною від постачальника. Програмне забезпечення, сам лаунчер вузла та центр керування з багатьма функціями можна використовувати на довільному апаратному забезпеченні.
- EthPillar (opens in a new tab) — найшвидший і найпростіший спосіб налаштувати повний вузол. Інструмент налаштування в один рядок і TUI для керування вузлом. Безкоштовно. Відкритий вихідний код. Суспільні блага для Етеріуму від соло-стейкерів. Підтримка ARM64 та AMD64.
- eth-docker (opens in a new tab) — автоматизоване налаштування за допомогою Docker, орієнтоване на простий і безпечний стейкінг, вимагає базових знань термінала та Docker, рекомендується для трохи більш досвідчених користувачів.
- Stereum (opens in a new tab) — лаунчер для встановлення клієнтів на віддаленому сервері через SSH-з'єднання з посібником із налаштування через графічний інтерфейс, центром керування та багатьма іншими функціями.
- Sedge (opens in a new tab) — інструмент налаштування вузла, який автоматично генерує конфігурацію Docker за допомогою майстра CLI. Написаний на Go командою Незермайнд.
- Chainstack Self-Hosted (opens in a new tab) — веб-інтерфейс та CLI для розгортання клієнтів виконання та консенсусу в Kubernetes. Включає завантаження зі знімка (snapshot bootstrap) та вбудований моніторинг. Безкоштовно. Акаунт Chainstack не потрібен. Створено Chainstack.
Ручне налаштування клієнтів
Інший варіант — завантажити, перевірити та налаштувати програмне забезпечення клієнта вручну. Навіть якщо деякі клієнти пропонують графічний інтерфейс, ручне налаштування все одно вимагає базових навичок роботи з терміналом, але пропонує набагато більшу універсальність.
Як пояснювалося раніше, налаштування власного вузла Етеріуму вимагатиме запуску пари клієнтів консенсусу та виконання. Деякі клієнти можуть включати легкий клієнт іншого типу та синхронізуватися без будь-якого іншого програмного забезпечення. Однак повна бездовірча перевірка вимагає обох реалізацій.
Отримання програмного забезпечення клієнта
Спочатку вам потрібно отримати програмне забезпечення вибраного клієнта виконання та клієнта консенсусу.
Ви можете просто завантажити виконуваний додаток або інсталяційний пакет, який підходить для вашої операційної системи та архітектури. Завжди перевіряйте підписи та контрольні суми завантажених пакетів. Деякі клієнти також пропонують репозиторії або образи Docker для простішого встановлення та оновлення. Усі клієнти мають відкритий вихідний код, тому ви також можете зібрати їх із вихідного коду. Це більш просунутий метод, але в деяких випадках він може знадобитися.
Інструкції зі встановлення кожного клієнта наведені в документації, посилання на яку є в списках клієнтів вище.
Ось сторінки релізів клієнтів, де ви можете знайти їхні попередньо зібрані бінарні файли або інструкції зі встановлення:
Клієнти виконання
- Бесу (opens in a new tab)
- Ерігон (opens in a new tab)
- Geth (opens in a new tab)
- Незермайнд (opens in a new tab)
- Рет (opens in a new tab)
Також варто зазначити, що різноманітність клієнтів є проблемою на рівні виконання. Читачам рекомендується розглянути можливість запуску клієнта виконання, який перебуває в меншості.
Клієнти консенсусу
- Лайтхаус (opens in a new tab)
- Лодстар (opens in a new tab) (Не надає попередньо зібраного бінарного файлу, лише образ Docker або збирання з вихідного коду)
- Німбус (opens in a new tab)
- Призм (opens in a new tab)
- Теку (opens in a new tab)
Різноманітність клієнтів є критично важливою для вузлів консенсусу, на яких працюють валідатори. Якщо більшість валідаторів використовують одну реалізацію клієнта, безпека мережі опиняється під загрозою. Тому рекомендується розглянути можливість вибору клієнта, який перебуває в меншості.
Перегляньте останню статистику використання клієнтів у мережі (opens in a new tab) та дізнайтеся більше про різноманітність клієнтів.
Перевірка програмного забезпечення
Завантажуючи програмне забезпечення з Інтернету, рекомендується перевіряти його цілісність. Цей крок є необов'язковим, але особливо з такою важливою частиною інфраструктури, як клієнт Етеріуму, важливо знати про потенційні вектори атак і уникати їх. Якщо ви завантажили попередньо зібраний бінарний файл, вам потрібно довіряти йому та ризикувати тим, що зловмисник міг підмінити виконуваний файл на шкідливий.
Розробники підписують випущені бінарні файли своїми ключами PGP, щоб ви могли криптографічно перевірити, що запускаєте саме те програмне забезпечення, яке вони створили. Вам потрібно лише отримати публічні ключі, які використовують розробники, їх можна знайти на сторінках релізів клієнтів або в документації. Після завантаження релізу клієнта та його підпису ви можете використати реалізацію PGP, наприклад, GnuPG (opens in a new tab), щоб легко їх перевірити. Перегляньте посібник із перевірки програмного забезпечення з відкритим вихідним кодом за допомогою gpg на Linux (opens in a new tab) або Windows/macOS (opens in a new tab).
Інша форма перевірки полягає в тому, щоб переконатися, що хеш (унікальний криптографічний відбиток) завантаженого вами програмного забезпечення збігається з тим, який надали розробники. Це навіть простіше, ніж використання PGP, і деякі клієнти пропонують лише цей варіант. Просто запустіть хеш-функцію для завантаженого програмного забезпечення та порівняйте результат із тим, що вказаний на сторінці релізу. Наприклад:
sha256sum teku-22.6.1.tar.gz
9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
Налаштування клієнта
Після встановлення, завантаження або компіляції програмного забезпечення клієнта ви готові до його запуску. Це лише означає, що його потрібно виконати з правильною конфігурацією. Клієнти пропонують багаті можливості налаштування, які можуть увімкнути різні функції.
Почнімо з параметрів, які можуть значно вплинути на продуктивність клієнта та використання даних. Режими синхронізації представляють різні методи завантаження та перевірки даних блокчейну. Перед запуском вузла вам слід вирішити, яку мережу та режим синхронізації використовувати. Найважливіше, що слід враховувати, — це дисковий простір і час синхронізації, які знадобляться клієнту. Зверніть увагу на документацію клієнта, щоб визначити, який режим синхронізації використовується за замовчуванням. Якщо він вам не підходить, виберіть інший на основі рівня безпеки, доступних даних і вартості. Окрім алгоритму синхронізації, ви також можете налаштувати обрізання (pruning) різних видів старих даних. Обрізання дозволяє видаляти застарілі дані, тобто видаляти вузли дерева стану, які недоступні з останніх блоків.
Інші базові параметри конфігурації — це, наприклад, вибір мережі (Головна мережа або тестові мережі), увімкнення кінцевої точки HTTP для RPC або WebSockets тощо. Ви можете знайти всі функції та параметри в документації клієнта. Різні конфігурації клієнта можна встановити, запустивши клієнт із відповідними прапорцями безпосередньо в CLI або конфігураційному файлі. Кожен клієнт трохи відрізняється; будь ласка, завжди звертайтеся до його офіційної документації або сторінки довідки для отримання деталей щодо параметрів конфігурації.
Для цілей тестування ви можете віддати перевагу запуску клієнта в одній із тестових мереж. Перегляньте огляд підтримуваних мереж.
Приклади запуску клієнтів виконання з базовою конфігурацією можна знайти в наступному розділі.
Запуск клієнта виконання
Перед запуском програмного забезпечення клієнта Етеріуму виконайте останню перевірку готовності вашого середовища. Наприклад, переконайтеся, що:
- Є достатньо дискового простору з огляду на вибрану мережу та режим синхронізації.
- Пам'ять і процесор не перевантажені іншими програмами.
- Операційна система оновлена до останньої версії.
- У системі встановлено правильний час і дату.
- Ваш маршрутизатор і брандмауер приймають з'єднання на портах прослуховування. За замовчуванням клієнти Етеріуму використовують порт прослуховування (TCP) і порт виявлення (UDP), обидва на 30303 за замовчуванням.
Спочатку запустіть свій клієнт у тестовій мережі, щоб переконатися, що все працює правильно.
Вам потрібно оголосити будь-які налаштування клієнта, які не є типовими під час запуску. Ви можете використовувати прапорці або конфігураційний файл, щоб оголосити бажану конфігурацію. Набір функцій і синтаксис конфігурації кожного клієнта відрізняються. Перегляньте документацію вашого клієнта для отримання деталей.
Клієнти виконання та консенсусу спілкуються через автентифіковану кінцеву точку, вказану в Engine API (opens in a new tab). Щоб підключитися до клієнта консенсусу, клієнт виконання повинен згенерувати jwtsecret (opens in a new tab) за відомим шляхом. З міркувань безпеки та стабільності клієнти повинні працювати на одній машині, і обидва клієнти повинні знати цей шлях, оскільки він використовується для автентифікації локального RPC-з'єднання між ними. Клієнт виконання також повинен визначити порт прослуховування для автентифікованих API.
Цей токен генерується автоматично програмним забезпеченням клієнта, але в деяких випадках вам може знадобитися зробити це самостійно. Ви можете згенерувати його за допомогою OpenSSL (opens in a new tab):
openssl rand -hex 32 > jwtsecret
Робота клієнта виконання
Цей розділ допоможе вам запустити клієнти виконання. Він слугує лише прикладом базової конфігурації, яка запустить клієнт із такими налаштуваннями:
- Вказує мережу для підключення, Головна мережа в наших прикладах
- Ви можете натомість вибрати одну з тестових мереж для попереднього тестування вашого налаштування
- Визначає каталог даних, де зберігатимуться всі дані, включно з блокчейном
- Обов'язково замініть шлях на реальний, наприклад, вказавши на ваш зовнішній диск
- Вмикає інтерфейси для зв'язку з клієнтом
- Включно з JSON-RPC та Engine API для зв'язку з клієнтом консенсусу
- Визначає шлях до
jwtsecretдля автентифікованого API- Обов'язково замініть приклад шляху на реальний, до якого клієнти можуть отримати доступ, наприклад,
/tmp/jwtsecret
- Обов'язково замініть приклад шляху на реальний, до якого клієнти можуть отримати доступ, наприклад,
Будь ласка, майте на увазі, що це лише базовий приклад, усі інші налаштування будуть встановлені за замовчуванням. Зверніть увагу на документацію кожного клієнта, щоб дізнатися про значення за замовчуванням, налаштування та функції. Для отримання додаткових функцій, наприклад, для запуску валідаторів, моніторингу тощо, зверніться до документації конкретного клієнта.
Зверніть увагу, що зворотні скісні риски
\у прикладах наведені лише для форматування; прапорці конфігурації можна визначити в одному рядку.
Запуск Бесу
Цей приклад запускає Бесу в Головній мережі, зберігає дані блокчейну у форматі за замовчуванням у /data/ethereum, вмикає JSON-RPC та Engine RPC для підключення клієнта консенсусу. Engine API автентифікується за допомогою токена jwtsecret, і дозволені лише виклики з localhost.
besu --network=mainnet \
--data-path=/data/ethereum \
--rpc-http-enabled=true \
--engine-rpc-enabled=true \
--engine-host-allowlist="*" \
--engine-jwt-enabled=true \
--engine-jwt-secret=/path/to/jwtsecret
Бесу також постачається з опцією лаунчера, який поставить низку запитань і згенерує конфігураційний файл. Запустіть інтерактивний лаунчер за допомогою:
besu --Xlauncher
Документація Бесу (opens in a new tab) містить додаткові параметри та деталі конфігурації.
Запуск Ерігон
Цей приклад запускає Ерігон у Головній мережі, зберігає дані блокчейну в /data/ethereum, вмикає JSON-RPC, визначає, які простори імен дозволені, і вмикає автентифікацію для підключення клієнта консенсусу, який визначається шляхом jwtsecret.
erigon --chain mainnet \
--datadir /data/ethereum \
--http --http.api=engine,eth,web3,net \
--authrpc.jwtsecret=/path/to/jwtsecret
Ерігон за замовчуванням виконує повну синхронізацію з 8 ГБ HDD, що призведе до понад 2 ТБ архівних даних. Переконайтеся, що datadir вказує на диск із достатньою кількістю вільного місця, або зверніть увагу на прапорець --prune, який може обрізати різні види даних. Перегляньте --help Ерігон, щоб дізнатися більше.
Запуск Geth
Цей приклад запускає Geth у Головній мережі, зберігає дані блокчейну в /data/ethereum, вмикає JSON-RPC і визначає, які простори імен дозволені. Він також вмикає автентифікацію для підключення клієнта консенсусу, що вимагає шляху до jwtsecret, а також опції, що визначає, які з'єднання дозволені, у нашому прикладі лише з localhost.
geth --mainnet \
--datadir "/data/ethereum" \
--http --authrpc.addr localhost \
--authrpc.vhosts="localhost" \
--authrpc.port 8551
--authrpc.jwtsecret=/path/to/jwtsecret
Перегляньте документацію для всіх параметрів конфігурації (opens in a new tab) та дізнайтеся більше про запуск Geth із клієнтом консенсусу (opens in a new tab).
Запуск Незермайнд
Незермайнд пропонує різні варіанти встановлення (opens in a new tab). Пакет постачається з різними бінарними файлами, включно з лаунчером із керованим налаштуванням, який допоможе вам створити конфігурацію інтерактивно. Крім того, ви знайдете Runner, який є самим виконуваним файлом, і ви можете просто запустити його з прапорцями конфігурації. JSON-RPC увімкнено за замовчуванням.
Nethermind.Runner --config mainnet \
--datadir /data/ethereum \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
Документація Незермайнд пропонує повний посібник (opens in a new tab) із запуску Незермайнд із клієнтом консенсусу.
Клієнт виконання ініціює свої основні функції, вибрані кінцеві точки та почне шукати піри. Після успішного виявлення пірів клієнт починає синхронізацію. Клієнт виконання очікуватиме з'єднання від клієнта консенсусу. Поточні дані блокчейну будуть доступні після успішної синхронізації клієнта з поточним станом.
Запуск Рет
Цей приклад запускає Рет у Головній мережі, використовуючи розташування даних за замовчуванням. Вмикає автентифікацію JSON-RPC та Engine RPC для підключення клієнта консенсусу, який визначається шляхом jwtsecret, при цьому дозволені лише виклики з localhost.
reth node \
--authrpc.jwtsecret /path/to/jwtsecret \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551
Перегляньте Налаштування Рет (opens in a new tab), щоб дізнатися більше про каталоги даних за замовчуванням. Документація Рет (opens in a new tab) містить додаткові параметри та деталі конфігурації.
Запуск клієнта консенсусу
Клієнт консенсусу має бути запущений із правильною конфігурацією портів для встановлення локального RPC-з'єднання з клієнтом виконання. Клієнти консенсусу повинні запускатися з відкритим портом клієнта виконання як аргументом конфігурації.
Клієнту консенсусу також потрібен шлях до jwt-secret клієнта виконання для автентифікації RPC-з'єднання між ними. Подібно до прикладів виконання вище, кожен клієнт консенсусу має прапорець конфігурації, який приймає шлях до файлу токена jwt як аргумент. Це має узгоджуватися зі шляхом jwtsecret, наданим клієнту виконання.
Якщо ви плануєте запустити валідатор, обов'язково додайте прапорець конфігурації, що вказує адресу Етеріуму одержувача комісії. Саме тут накопичуються винагороди в етерах для вашого валідатора. Кожен клієнт консенсусу має опцію, наприклад, --suggested-fee-recipient=0xabcd1, яка приймає адресу Етеріуму як аргумент.
Запускаючи маяковий вузол у тестовій мережі, ви можете значно заощадити час синхронізації, використовуючи публічну кінцеву точку для синхронізації контрольної точки (opens in a new tab).
Робота клієнта консенсусу
Запуск Лайтхаус
Перед запуском Лайтхаус дізнайтеся більше про те, як його встановити та налаштувати, у Книзі Лайтхаус (opens in a new tab).
lighthouse beacon_node \
--network mainnet \
--datadir /data/ethereum \
--http \
--execution-endpoint http://127.0.0.1:8551 \
--execution-jwt /path/to/jwtsecret
Запуск Лодстар
Встановіть програмне забезпечення Лодстар, скомпілювавши його або завантаживши образ Docker. Дізнайтеся більше в документації (opens in a new tab) та більш повному посібнику з налаштування (opens in a new tab).
lodestar beacon \
--dataDir="/data/ethereum" \
--network=mainnet \
--eth1.enabled=true \
--execution.urls="http://127.0.0.1:8551" \
--jwt-secret="/path/to/jwtsecret"
Запуск Німбус
Німбус постачається як із клієнтом консенсусу, так і з клієнтом виконання. Його можна запускати на різних пристроях навіть із дуже скромною обчислювальною потужністю. Після встановлення залежностей і самого Німбус (opens in a new tab) ви можете запустити його клієнт консенсусу:
nimbus_beacon_node \
--network=mainnet \
--web3-url=http://127.0.0.1:8551 \
--rest \
--jwt-secret="/path/to/jwtsecret"
Запуск Призм
Призм постачається зі скриптом, який дозволяє легко виконати автоматичне встановлення. Деталі можна знайти в документації Призм (opens in a new tab).
./prysm.sh beacon-chain \
--mainnet \
--datadir /data/ethereum \
--execution-endpoint=http://localhost:8551 \
--jwt-secret=/path/to/jwtsecret
Запуск Теку
teku --network mainnet \
--data-path "/data/ethereum" \
--ee-endpoint http://localhost:8551 \
--ee-jwt-secret-file "/path/to/jwtsecret"
Коли клієнт консенсусу підключається до клієнта виконання для читання депозитного контракту та ідентифікації валідаторів, він також підключається до інших пірів маякового вузла та починає синхронізацію слотів консенсусу від генезису. Щойно маяковий вузол досягає поточної епохи, Beacon API стає придатним для використання вашими валідаторами. Дізнайтеся більше про API маякового вузла (opens in a new tab).
Додавання валідаторів
Клієнт консенсусу слугує маяковим вузлом для підключення валідаторів. Кожен клієнт консенсусу має власне програмне забезпечення валідатора, детально описане у відповідній документації.
Запуск власного валідатора дозволяє здійснювати соло-стейкінг — найвпливовіший і бездовірчий метод підтримки мережі Етеріуму. Однак це вимагає депозиту в розмірі 32 ETH. Щоб запустити валідатор на власному вузлі з меншою сумою, вас може зацікавити децентралізований пул із бездозвільними операторами вузлів, як-от Rocket Pool (opens in a new tab).
Найпростіший спосіб розпочати стейкінг і генерацію ключів валідатора — використати Hoodi Testnet Staking Launchpad (opens in a new tab), який дозволяє протестувати ваше налаштування шляхом запуску вузлів у Hoodi (opens in a new tab). Коли ви будете готові до Головної мережі, ви зможете повторити ці кроки за допомогою Mainnet Staking Launchpad (opens in a new tab).
Перегляньте сторінку стейкінгу для огляду варіантів стейкінгу.
Використання вузла
Клієнти виконання пропонують кінцеві точки RPC API, які ви можете використовувати для надсилання транзакцій, взаємодії зі смарт-контрактами або їх розгортання в мережі Етеріуму різними способами:
- Викликаючи їх вручну за допомогою відповідного протоколу (наприклад, використовуючи
curl) - Підключаючи надану консоль (наприклад,
geth attach) - Реалізуючи їх у додатках за допомогою бібліотек Web3, наприклад, Web3.py (opens in a new tab), ethers (opens in a new tab)
Різні клієнти мають різні реалізації кінцевих точок RPC. Але існує стандартний JSON-RPC, який ви можете використовувати з кожним клієнтом. Для огляду прочитайте документацію JSON-RPC. Додатки, яким потрібна інформація з мережі Етеріуму, можуть використовувати цей RPC. Наприклад, популярний гаманець МетаМаск дозволяє вам підключитися до власної кінцевої точки RPC (opens in a new tab), що має значні переваги для приватності та безпеки.
Усі клієнти консенсусу відкривають Beacon API (opens in a new tab), який можна використовувати для перевірки статусу клієнта консенсусу або завантаження блоків і даних консенсусу шляхом надсилання запитів за допомогою таких інструментів, як Curl (opens in a new tab). Більше інформації про це можна знайти в документації для кожного клієнта консенсусу.
Доступ до RPC
Порт за замовчуванням для JSON-RPC клієнта виконання — 8545, але ви можете змінити порти локальних кінцевих точок у конфігурації. За замовчуванням інтерфейс RPC доступний лише на локальному хості (localhost) вашого комп'ютера. Щоб зробити його віддалено доступним, ви можете відкрити його для публіки, змінивши адресу на 0.0.0.0. Це зробить його доступним через локальну мережу та публічні IP-адреси. У більшості випадків вам також знадобиться налаштувати переадресацію портів на вашому маршрутизаторі.
Підходьте до відкриття портів в Інтернет з обережністю, оскільки це дозволить будь-кому в Інтернеті керувати вашим вузлом. Зловмисники можуть отримати доступ до вашого вузла, щоб вивести з ладу вашу систему або вкрасти ваші кошти, якщо ви використовуєте свій клієнт як гаманець.
Спосіб обійти це — запобігти можливості зміни потенційно шкідливих методів RPC. Наприклад, у Geth ви можете оголосити методи, які можна змінювати, за допомогою прапорця: --http.api web3,eth,txpool.
Доступ до інтерфейсу RPC можна розширити шляхом розробки API граничного рівня або додатків веб-сервера, як-от Nginx, і підключення їх до локальної адреси та порту вашого клієнта. Використання проміжного рівня також може дозволити розробникам налаштувати сертифікат для безпечних з'єднань https з інтерфейсом RPC.
Налаштування веб-сервера, проксі або зовнішнього REST API — не єдиний спосіб надати доступ до кінцевої точки RPC вашого вузла. Інший спосіб налаштувати публічно доступну кінцеву точку зі збереженням приватності — розмістити вузол на власному onion-сервісі Tor (opens in a new tab). Це дозволить вам отримати доступ до RPC за межами вашої локальної мережі без статичної публічної IP-адреси або відкритих портів. Однак використання цієї конфігурації може дозволити доступ до кінцевої точки RPC лише через мережу Tor, що підтримується не всіма додатками та може призвести до проблем зі з'єднанням.
Для цього вам потрібно створити власний onion-сервіс (opens in a new tab). Перегляньте документацію (opens in a new tab) з налаштування onion-сервісу, щоб розмістити свій власний. Ви можете спрямувати його на веб-сервер із проксі до порту RPC або просто безпосередньо до RPC.
Нарешті, одним із найпопулярніших способів надання доступу до внутрішніх мереж є VPN-з'єднання. Залежно від вашого варіанту використання та кількості користувачів, яким потрібен доступ до вашого вузла, безпечне VPN-з'єднання може бути хорошим варіантом. OpenVPN (opens in a new tab) — це повнофункціональний SSL VPN, який реалізує безпечне розширення мережі рівня 2 або 3 моделі OSI з використанням галузевого стандарту протоколу SSL/TLS, підтримує гнучкі методи автентифікації клієнтів на основі сертифікатів, смарт-карт та/або облікових даних (ім'я користувача/пароль), а також дозволяє застосовувати політики контролю доступу для конкретних користувачів або груп за допомогою правил брандмауера, застосованих до віртуального інтерфейсу VPN.
Експлуатація вузла
Ви повинні регулярно контролювати свій вузол, щоб переконатися, що він працює належним чином. Вам може знадобитися періодичне обслуговування.
Підтримка вузла в мережі
Вашому вузлу не обов'язково бути в мережі весь час, але ви повинні тримати його в мережі якомога більше, щоб він залишався синхронізованим із мережею. Ви можете вимкнути його для перезапуску, але майте на увазі, що:
- Вимкнення може зайняти кілька хвилин, якщо останній стан усе ще записується на диск.
- Примусове вимкнення може пошкодити базу даних, що вимагатиме повторної синхронізації всього вузла.
- Ваш клієнт розсинхронізується з мережею і потребуватиме повторної синхронізації під час перезапуску. Хоча вузол може почати синхронізацію з того місця, де він був востаннє вимкнений, процес може зайняти час залежно від того, як довго він був офлайн.
Це не стосується вузлів валідаторів рівня консенсусу. Відключення вашого вузла від мережі вплине на всі залежні від нього сервіси. Якщо ви запускаєте вузол для цілей стейкінгу, вам слід намагатися мінімізувати час простою настільки, наскільки це можливо.
Створення служб клієнтів
Розгляньте можливість створення служби для автоматичного запуску ваших клієнтів під час завантаження системи. Наприклад, на серверах Linux хорошою практикою буде створення служби, наприклад, за допомогою systemd, яка виконує клієнт із правильною конфігурацією під користувачем з обмеженими привілеями та автоматично перезапускається.
Оновлення клієнтів
Вам потрібно підтримувати програмне забезпечення клієнта в актуальному стані з останніми виправленнями безпеки, функціями та EIP. Особливо перед хардфорками переконайтеся, що ви використовуєте правильні версії клієнтів.
Перед важливими оновленнями мережі EF публікує допис у своєму блозі (opens in a new tab). Ви можете підписатися на ці оголошення (opens in a new tab), щоб отримувати сповіщення на пошту, коли вашому вузлу знадобиться оновлення.
Оновлення клієнтів дуже просте. Кожен клієнт має конкретні інструкції у своїй документації, але процес зазвичай полягає лише в завантаженні останньої версії та перезапуску клієнта з новим виконуваним файлом. Клієнт повинен продовжити з того місця, де зупинився, але із застосованими оновленнями.
Кожна реалізація клієнта має зрозумілий для людини рядок версії, який використовується в одноранговому протоколі, але також доступний із командного рядка. Цей рядок версії дозволяє користувачам перевірити, чи вони використовують правильну версію, і дозволяє оглядачам блоків та іншим аналітичним інструментам кількісно оцінювати розподіл конкретних клієнтів у мережі. Будь ласка, зверніться до документації окремого клієнта для отримання додаткової інформації про рядки версій.
Запуск додаткових сервісів
Запуск власного вузла дозволяє вам використовувати сервіси, які вимагають прямого доступу до RPC клієнта Етеріуму. Це сервіси, побудовані поверх Етеріуму, як-от рішення рівня 2, бекенд для гаманців, оглядачі блоків, інструменти для розробників та інша інфраструктура Етеріуму.
Моніторинг вузла
Щоб належним чином контролювати свій вузол, розгляньте можливість збору метрик. Клієнти надають кінцеві точки метрик, щоб ви могли отримувати вичерпні дані про свій вузол. Використовуйте такі інструменти, як InfluxDB (opens in a new tab) або Prometheus (opens in a new tab), для створення баз даних, які ви можете перетворити на візуалізації та діаграми в такому програмному забезпеченні, як Grafana (opens in a new tab). Існує багато налаштувань для використання цього програмного забезпечення та різних інформаційних панелей Grafana для візуалізації вашого вузла та мережі в цілому. Наприклад, перегляньте посібник із моніторингу Geth.
У рамках моніторингу обов'язково стежте за продуктивністю вашої машини. Під час початкової синхронізації вашого вузла програмне забезпечення клієнта може сильно навантажувати процесор і оперативну пам'ять. Окрім Grafana, ви можете використовувати інструменти, які пропонує ваша ОС, як-от htop або uptime, щоб зробити це.
Додаткові матеріали
- Посібники зі стейкінгу в Етеріумі (opens in a new tab) — Somer Esat, часто оновлюється
- Посібник | Як налаштувати валідатор для стейкінгу в Етеріумі в Головній мережі (opens in a new tab) – CoinCashew, часто оновлюється
- Посібники EthStaker із запуску валідаторів у тестових мережах (opens in a new tab) – EthStaker, регулярно оновлюється
- Приклад додатка AWS Blockchain Node Runner для вузлів Етеріуму (opens in a new tab) - AWS, часто оновлюється
- Поширені запитання щодо Злиття для операторів вузлів (opens in a new tab) - Липень 2022
- Аналіз вимог до апаратного забезпечення для повного перевіреного вузла Етеріуму (opens in a new tab) – Albert Palau, 24 вересня 2018
- Запуск повних вузлів Етеріуму: посібник для ледь мотивованих (opens in a new tab) – Justin Leroux, 7 листопада 2019
- Запуск вузла Hyperledger Besu в Головній мережі Етеріуму: переваги, вимоги та налаштування (opens in a new tab) – Felipe Faraggi, 7 травня 2020
- Розгортання клієнта Етеріуму Незермайнд зі стеком моніторингу (opens in a new tab) – Nethermind.eth, 8 липня 2020
