スマートコントラクトやdappのコンパイル、デプロイ、テスト、デバッグに使えるEthereum開発環境。
foundry-rs/foundry
Ethereumスマートコントラクト開発向けのRust製ツールキット。Forge、Cast、Anvil、ChiselでEVMチェーンの構築、テスト、操作を支援します。
代替できる製品:Hardhat
- スター
- 10,685
- フォーク
- 2,686
- 未解決の Issue
- 246
- 最終コミット
- 3 時間前
これは何?
Foundryは、Rustで書かれたEthereumアプリケーション開発用ツールキットです。4つのツールを同梱しています。Solidityコントラクトのビルド、テスト、ファジング、デバッグ、デプロイを行うForge、コントラクトの呼び出しやトランザクションの送信、チェーンデータの取得をコマンドラインから行うCast、稼働中のネットワークをフォークできるローカルEthereum開発ノードのAnvil、そしてSolidity REPLのChiselです。
一般的なワークフローでは、まずforge initでプロジェクトを作成し、forge buildとforge testを実行します。Anvilでmainnetをローカルにフォークすれば、実際のオンチェーン状態を使ってコントラクトをテストできます。またCastを使って、稼働中のRPCエンドポイントから残高やブロック番号などのデータを取得できます。FoundryにはSolidity用のlanguage serverもあり、forge lspで起動して、VS CodeやLSP対応のエディターから利用できます。
Foundryはモジュール式のため、各ツールを単独でも、ほかのツールと組み合わせても使用できます。ライセンスはApache-2.0とMITのデュアルライセンスです。
主な機能
- 01ForgeでSolidityコントラクトのビルド、テスト、ファジング、デプロイができます。
- 02Castを使って、コマンドラインからEVMチェーンやコントラクトを操作できます。
- 03AnvilでローカルEthereumノードを起動でき、稼働中のネットワークをフォークできます。
- 04Chiselは、手軽な実験に使えるSolidity REPLを提供します。
- 05forge lspは、エディター向けのSolidity language serverを提供します。
ユースケース
- Solidityスマートコントラクトをローカルで作成し、ユニットテストする。
- Anvilでmainnetの状態をフォークして、コントラクトをテストする。
- Castを使い、スクリプトやターミナルから残高やチェーンデータを取得する。
- VS Codeやその他のLSP対応エディターでSolidityのエディターサポートを設定する。
クイックスタート
- 1
README に記載されている公式インストールスクリプトを実行する
- 2
foundryup でツールキットをインストールする
foundryup - 3
新しいプロジェクトを初期化する
forge init counter && cd counter - 4
プロジェクトをビルドしてから forge test を実行する
forge build
トピック
よくある質問
- foundry とは?
- Ethereumスマートコントラクト開発向けのRust製ツールキット。Forge、Cast、Anvil、ChiselでEVMチェーンの構築、テスト、操作を支援します。 Foundryは、Rustで書かれたEthereumアプリケーション開発用ツールキットです。4つのツールを同梱しています。Solidityコントラクトのビルド、テスト、ファジング、デバッグ、デプロイを行うForge、コントラクトの呼び出しやトランザクションの送信、チェーンデータの取得をコマンドラインから行うCast、稼働中のネットワークをフォークできるローカルEthereum開発ノードのAnvil、そしてSolidity REPLのChiselです。
- foundry は無料で使えますか?ライセンスは?
- foundry は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- foundry は今もメンテナンスされていますか?
- 活発にメンテナンス中。foundry の最終コミットは 2026年10月21日 です。
- foundry は何に使えますか?
- Solidityスマートコントラクトをローカルで作成し、ユニットテストする。 Anvilでmainnetの状態をフォークして、コントラクトをテストする。 Castを使い、スクリプトやターミナルから残高やチェーンデータを取得する。 VS Codeやその他のLSP対応エディターでSolidityのエディターサポートを設定する。
- foundry のインストール方法は?
- README に記載されている公式インストールスクリプトを実行する foundryup でツールキットをインストールする: foundryup 新しいプロジェクトを初期化する: forge init counter && cd counter プロジェクトをビルドしてから forge test を実行する: forge build
- foundry はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/foundry-rs/foundry
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Solidityは、Ethereumプラットフォーム上のスマートコントラクトを記述するための、静的型付けのコントラクト指向プログラミング言語です。
Swayは、Fuelブロックチェーン上のスマートコントラクト開発向けに作られた、Rustに着想を得たプログラミング言語です。
Ethereum実行レイヤーのGo実装。フルノードまたはアーカイブノードとして稼働し、JSON-RPC APIや開発者向けツールを提供します。
Ethereumの開発、スマートコントラクト、基盤技術を解説する書籍『Mastering Ethereum』の第2版。
スマートコントラクトに現実世界のデータやオフチェーン計算を提供する分散型オラクルネットワーク、Chainlinkのコアノードとコントラクト。