スマートコントラクトに現実世界のデータやオフチェーン計算を提供する分散型オラクルネットワーク、Chainlinkのコアノードとコントラクト。
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
Go 1.25 以降と C コンパイラをインストールし、ソースから geth をビルドします
make geth - 2
geth を実行して対話型コンソールを開き、Ethereum メインネットと同期します
geth console - 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 の数値は毎日更新されます。
関連プロジェクト
Ethereumスマートコントラクト開発向けのRust製ツールキット。Forge、Cast、Anvil、ChiselでEVMチェーンの構築、テスト、操作を支援します。
リアルタイムの音声・映像・データによるP2P接続を構築するための、WebRTC APIの純粋なGo実装。
スマートコントラクト、データベーステーブル、インターフェースを備え、dApps、DeFi、DAO、クロスチェーンアプリケーションを構築できるGo製ブロックチェーンプラットフォーム。
Solidityは、Ethereumプラットフォーム上のスマートコントラクトを記述するための、静的型付けのコントラクト指向プログラミング言語です。
Ethereumの開発、スマートコントラクト、基盤技術を解説する書籍『Mastering Ethereum』の第2版。