Repolode
ethereum

ethereum/go-ethereum

Реализация исполнительного уровня Ethereum на Go: запуск полного или архивного узла, доступ через JSON-RPC и инструменты для разработчиков.

Звёзды
51,404
Форки
22,116
Открытые issues
480
Последний коммит
9 часов назад

Что это?

go-ethereum (geth) — реализация исполнительного уровня Ethereum на Go. Основной исполняемый файл, geth, подключается к основной сети или тестовым сетям, например Sepolia, синхронизирует состояние блокчейна и по умолчанию может работать как полный узел либо как архивный узел, который хранит всё историческое состояние.

Geth предоставляет стандартный API Ethereum JSON-RPC и собственные API управления через HTTP, WebSocket и IPC. В него также входит интерактивная консоль JavaScript для отправки транзакций, создания аккаунтов и развёртывания контрактов. Вспомогательные инструменты позволяют генерировать привязки контрактов с помощью abigen, отлаживать байткод EVM с помощью evm, анализировать RLP с помощью rlpdump и проверять низкоуровневые сетевые взаимодействия с помощью devp2p.

Для локальной разработки geth предлагает режим dev с одним узлом и имитируемый backend для тестирования контрактов на Go, а Kurtosis позволяет запускать тестовые сети из нескольких узлов. Для работы узла в сети после Merge вместе с ним также требуется клиент уровня консенсуса.

Ключевые возможности

  • 01По умолчанию работает как полный узел либо как архивный узел, хранящий всё историческое состояние.
  • 02Предоставляет стандартный Ethereum JSON-RPC через HTTP, WebSocket и IPC.
  • 03Включает интерактивную консоль JavaScript для взаимодействия с сетью.
  • 04Включает abigen для генерации типобезопасных привязок Go по ABI контрактов.
  • 05Содержит инструменты для разработчиков, в том числе средство запуска байткода evm и rlpdump.
  • 06Поддерживает основную сеть и тестовые сети, включая Sepolia, а также приватные сети.

Сценарии использования

  • Запуск узла Ethereum для чтения данных блокчейна или отправки транзакций.
  • Генерация привязок Go для смарт-контрактов, используемых в backend-сервисах.
  • Пошаговая отладка опкодов EVM с помощью утилиты evm.
  • Настройка локальной dev-сети или тестовой сети из нескольких узлов для проверки контрактов.

Быстрый старт

  1. 1

    Установите Go 1.25 или более поздней версии и компилятор C, затем соберите geth из исходного кода

    make geth
  2. 2

    Запустите geth и откройте интерактивную консоль, чтобы синхронизироваться с основной сетью Ethereum

    geth console
  3. 3

    Также можно запустить geth в Docker, используя официальный образ

    docker run -d --name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go

Что важно знать

  • Для работы полноценного узла требуется мощное оборудование: не менее 2 ТБ места на SSD и 8 ГБ ОЗУ.
  • Для сборки из исходного кода необходимы Go 1.25 или более поздней версии и компилятор C.

Темы

Частые вопросы

Что такое go-ethereum?
Реализация исполнительного уровня Ethereum на Go: запуск полного или архивного узла, доступ через JSON-RPC и инструменты для разработчиков. go-ethereum (geth) — реализация исполнительного уровня Ethereum на Go. Основной исполняемый файл, geth, подключается к основной сети или тестовым сетям, например Sepolia, синхронизирует состояние блокчейна и по умолчанию может работать как полный узел либо как архивный узел, который хранит всё историческое состояние.
go-ethereum можно использовать бесплатно? Какая у него лицензия?
go-ethereum распространяется с открытым исходным кодом под лицензией LGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
go-ethereum всё ещё поддерживается?
Активно поддерживается. Последний коммит в go-ethereum — 21 окт. 2026 г..
Для чего можно использовать go-ethereum?
Запуск узла Ethereum для чтения данных блокчейна или отправки транзакций. Генерация привязок Go для смарт-контрактов, используемых в backend-сервисах. Пошаговая отладка опкодов EVM с помощью утилиты evm. Настройка локальной dev-сети или тестовой сети из нескольких узлов для проверки контрактов.
Как установить go-ethereum?
Установите Go 1.25 или более поздней версии и компилятор C, затем соберите geth из исходного кода: make geth Запустите geth и откройте интерактивную консоль, чтобы синхронизироваться с основной сетью Ethereum: geth console Также можно запустить geth в Docker, используя официальный образ: docker run -d --name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go
Где скачать go-ethereum?
Исходный код и инструкции по установке — на GitHub: https://github.com/ethereum/go-ethereum

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Реализация WebRTC API на чистом Go для создания одноранговых соединений с передачей аудио, видео и данных в реальном времени.

16,9 тыс.1,9 тыс.GoMITОбновлён 9 часов назад