Repolode
ethereum

ethereum/go-ethereum

Ethereum実行レイヤーのGo実装。フルノードまたはアーカイブノードとして稼働し、JSON-RPC APIや開発者向けツールを提供します。

スター
51,404
フォーク
22,116
未解決の Issue
480
最終コミット
9 時間前

これは何?

go-ethereum(geth)は、Ethereum実行レイヤーのGo実装です。メインバイナリのgethは、メインネットやSepoliaなどのテストネットに接続してチェーンの状態を同期し、デフォルトではフルノードとして、または過去の状態をすべて保持するアーカイブノードとして稼働できます。

Gethは、標準のEthereum JSON-RPC APIに加え、独自の管理用APIをHTTP、WebSocket、IPC経由で公開します。また、トランザクションの送信、アカウントの作成、コントラクトのデプロイに使える対話型JavaScriptコンソールも備えています。関連ツールには、abigenによるコントラクトバインディングの生成、evmによるEVMバイトコードのデバッグ、rlpdumpによるRLPの調査、devp2pによる低レベルのネットワーク検査があります。

ローカル開発では、gethの単一ノード開発モードや、Goでコントラクトをテストするためのシミュレートバックエンドを利用できます。また、Kurtosisを使えばマルチノードのテストネットワークを起動できます。Merge後のネットワークでノードを稼働させるには、コンセンサスレイヤーのクライアントも併せて必要です。

主な機能

  • 01デフォルトではフルノードとして、または過去の状態をすべて保持するアーカイブノードとして稼働します。
  • 02標準のEthereum JSON-RPCをHTTP、WebSocket、IPC経由で提供します。
  • 03ネットワークとの対話に使えるJavaScriptコンソールを備えています。
  • 04コントラクトABIから型安全なGoバインディングを生成するabigenを提供します。
  • 05EVMバイトコードの実行ツールevmやrlpdumpなど、開発者向けユーティリティを同梱しています。
  • 06メインネットやSepoliaを含むテストネットに加え、プライベートネットワークにも対応します。

ユースケース

  • チェーンデータの参照やトランザクションの送信に使うEthereumノードの運用。
  • バックエンドサービスで使うスマートコントラクトのGoバインディング生成。
  • evmユーティリティでEVMオペコードをステップ実行してデバッグ。
  • コントラクトのテストに使うローカル開発チェーンやマルチノードテストネットワークの構築。

クイックスタート

  1. 1

    Go 1.25 以降と C コンパイラをインストールし、ソースから geth をビルドします

    make geth
  2. 2

    geth を実行して対話型コンソールを開き、Ethereum メインネットと同期します

    geth console
  3. 3

    または、公式イメージを使って Docker で geth を実行します

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

使う前に知っておきたいこと

  • フルノードの実行には十分なハードウェアが必要です。SSD の空き容量は少なくとも 2TB、RAM は 8GB 必要です。
  • ソースからビルドするには、Go 1.25 以降と C コンパイラが必要です。

トピック

よくある質問

go-ethereum とは?
Ethereum実行レイヤーのGo実装。フルノードまたはアーカイブノードとして稼働し、JSON-RPC APIや開発者向けツールを提供します。 go-ethereum(geth)は、Ethereum実行レイヤーのGo実装です。メインバイナリのgethは、メインネットやSepoliaなどのテストネットに接続してチェーンの状態を同期し、デフォルトではフルノードとして、または過去の状態をすべて保持するアーカイブノードとして稼働できます。
go-ethereum は無料で使えますか?ライセンスは?
go-ethereum は LGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
go-ethereum は今もメンテナンスされていますか?
活発にメンテナンス中。go-ethereum の最終コミットは 2026年10月21日 です。
go-ethereum は何に使えますか?
チェーンデータの参照やトランザクションの送信に使うEthereumノードの運用。 バックエンドサービスで使うスマートコントラクトのGoバインディング生成。 evmユーティリティでEVMオペコードをステップ実行してデバッグ。 コントラクトのテストに使うローカル開発チェーンやマルチノードテストネットワークの構築。
go-ethereum のインストール方法は?
Go 1.25 以降と C コンパイラをインストールし、ソースから geth をビルドします: make geth geth を実行して対話型コンソールを開き、Ethereum メインネットと同期します: geth console または、公式イメージを使って Docker で geth を実行します: 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト