スマートコントラクトの導入
最終更新: 2025年12月17日
イーサリアムネットワークのユーザーがスマートコントラクトを利用できるようにするには、それをデプロイする必要があります。
ブロックチェーン上でのスマートコントラクトのデプロイとは、要するにスマートコントラクトのコンパイル済みのコードが格納されたイーサリアムトランザクションを、受信者を指定せずに送信するということです。
前提条件
スマートコントラクトをデプロイする前に、イーサリアムネットワーク、トランザクション、スマートコントラクトの構造について理解しておく必要があります。
コントラクトはブロックチェーンに保存されるため、デプロイにはイーサ (ETH) のコストがかかります。そのため、イーサリアムのガスと手数料に精通しておく必要があります。
最後に、コントラクトをデプロイする前にコンパイルする必要があるため、必ずスマートコントラクトのコンパイルについてお読みください。
スマートコントラクトをデプロイする方法
必要なもの
- コントラクトのバイトコード – これはコンパイルによって生成されます。
- ガス用のETH - 他のトランザクションと同様にガスリミットを設定しますので、コントラクトのデプロイには、単純なETHの送金よりも多くのガスが必要であることに注意してください。
- デプロイメントのためのスクリプトやプラグイン。
- イーサリアムノードへのアクセス。自身でノードを稼働させるか、パブリックノードに接続するか、ノードサービスを使用して API キーを介してアクセスします。
スマートコントラクトをデプロイする手順
具体的な手順は、使っている開発フレームワークによって異なります。 例えば、コントラクトのデプロイに関するHardhatのドキュメント (opens in a new tab)やスマートコントラクトのデプロイと検証に関するFoundryのドキュメント (opens in a new tab)を参照できます。 デプロイされると、コントラクトは他のアカウントと同様にイーサリアムアドレスを持つようになり、ソースコード検証ツールを使用して検証できます。
関連ツール
Remix - Remix IDE を使用すると、イーサリアムのようなブロックチェーンのスマートコントラクトを開発、デプロイ、管理できます
Tenderly - スマートコントラクトの開発、テスト、監視、運用を目的として、デバッグ、可観測性、インフラストラクチャのビルディングブロックを提供する Web3 開発プラットフォーム
- tenderly.co (opens in a new tab)
- ドキュメント (opens in a new tab)
- GitHub (opens in a new tab)
- Discord (opens in a new tab)
Hardhat - イーサリアムソフトウェアのコンパイル、デプロイ、テスト、デバッグを行うための開発環境
- hardhat.org (opens in a new tab)
- コントラクトのデプロイに関するドキュメント (opens in a new tab)
- GitHub (opens in a new tab)
- Discord (opens in a new tab)
thirdweb - 単一のコマンドを使用して、あらゆるコントラクトをあらゆる EVM 互換チェーンに簡単にデプロイ
Crossmint - スマートコントラクトをデプロイし、クレジットカード決済とクロスチェーン決済を有効にし、API を使用して NFT の作成、配布、販売、保管、編集を可能にする、エンタープライズグレードの Web3 開発プラットフォームです。
- crossmint.com (opens in a new tab)
- ドキュメント (opens in a new tab)
- Discord (opens in a new tab)
- ブログ (opens in a new tab)
関連チュートリアル
- 最初のスマートコントラクトをデプロイする – イーサリアムのテストネットワークに最初のスマートコントラクトをデプロイするための入門ガイド。
- Hello World | スマートコントラクトチュートリアル – イーサリアム上で基本的なスマートコントラクトを作成およびデプロイするための、分かりやすいチュートリアル。
- Solidityから他のコントラクトと対話する – 既存のコントラクトからスマートコントラクトをデプロイし、それと対話する方法。
- コントラクトサイズを縮小する方法 - コントラクトのサイズを制限内に収め、ガスを節約するためにサイズを縮小する方法
参考リンク
- https://docs.openzeppelin.com/learn/deploying-and-interacting (opens in a new tab) - OpenZeppelin
- Hardhat を使用したコントラクトのデプロイ (opens in a new tab) - Nomic Labs
役に立つコミュニティリソースを知っていますか? Edit this page and add it!