Нода Chainlink и контракты для работы децентрализованной сети оракулов, которая передаёт смарт-контрактам реальные данные и результаты вычислений вне блокчейна.
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
Установите Go 1.25 или более поздней версии и компилятор C, затем соберите geth из исходного кода
make geth - 2
Запустите geth и откройте интерактивную консоль, чтобы синхронизироваться с основной сетью Ethereum
geth console - 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 обновляется ежедневно.
Похожие проекты
Набор инструментов на Rust для разработки смарт-контрактов Ethereum: Forge, Cast, Anvil и Chisel помогают собирать и тестировать контракты и взаимодействовать с EVM-сетями.
Реализация WebRTC API на чистом Go для создания одноранговых соединений с передачей аудио, видео и данных в реальном времени.
Блокчейн-платформа на Go для создания dApps, DeFi-, DAO- и кросс-чейн-приложений со смарт-контрактами, таблицами баз данных и интерфейсами.
Solidity — статически типизированный язык для разработки смарт-контрактов на платформе Ethereum.
Второе издание книги «Mastering Ethereum» об разработке на Ethereum, смарт-контрактах и базовых технологиях сети.