スマートコントラクトの導入
イーサリアムネットワークのユーザーがスマートコントラクトを利用できるようにするには、それをデプロイする必要があります。
ブロックチェーン上でのスマートコントラクトのデプロイとは、要するにスマートコントラクトのコンパイル済みのコードが格納されたイーサリアムトランザクションを、受信者を指定せずに送信するということです。
事前に
スマートコントラクトをデプロイする前に、イーサリアムネットワーク、トランザクション、スマートコントラクトの構造を理解する必要があります。
コントラクトのデプロイにはイーサ(ETH)もかかりま すので、イーサリアムのガスと手数料を熟知しておく必要があります。
最後に、デプロイする前にコントラクトをコンパイルする必要がありますので、 スマートコントラクトのコンパイルを必ずお読みください。
スマートコントラクトのデプロイ方法
必要なもの
- コントラクトのバイトコード - これはコンパイルによって生成されます。
- ガス用の ETH - 他のトランザクションと同様にガスリミットを設定しますので、コントラクトのデプロイには、単純な ETH の送金よりも多くのガスが必要であることに注意してください。
- デプロイメントのためのスクリプトやプラグイン。
- イーサリアムノードへのアクセス。これは、自身のノードを実行するか、公開ノードに接続するか、Infura や Alchemy のようなノードサービスを使用して API キーを介するかのいずれかの方法で行います。
スマートコントラクトをデプロイする手順
実際の手順は、どのツールを利用するかによって変わります。 例えば、コントラクトのデプロイに関する Hardhat のドキュメント(opens in a new tab)や、ネットワークとアプリケーションのデプロイに関する Truffle のドキュメント(opens in a new tab)をご確認ください。 これらは、スマートコントラクトをデプロイするための最も一般的なツールです。このデプロイでは、デプロイの手順を進めていくためのスクリプトを作成します。
デプロイされると、コントラクトは他のアカウントと同じように、イーサリアムアドレスを持つようになります。
関連ツール
Remix - Remix IDE では、イーサリアムのようなブロックチェーン上のスマートコントラクトの開発、デプロイ、管理を行うことができます。
Tenderly - EVM 互換チェーン上のあらゆるものを、リアルタイムデータを活用してシミュレート、デバッグ、監視します。
- 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)
Truffle - 開発環境、テストフレームワーク、ビルドパイプライン、およびその他のツール。
- trufflesuite.com(opens in a new tab)
- ネットワークとアプリケーションのデプロイに関するドキュメント(opens in a new tab)
- GitHub(opens in a new tab)
関連チュートリアル
- 最初のスマートコントラクトのデプロイ - イーサリアムテストネットワークに最初のスマートコントラクトをデプロイする方法の紹介
- Solidity を使用した他のコントラクトとの連携 - 既存のコントラクトからスマートコントラクトをデプロイし、それ を扱う方法
- コントラクトのサイズを小さくする方法 - コントラクトコードのサイズをリミットよりも下げて、ガスを節約する方法
さらに学びたい方へ
- https://docs.openzeppelin.com/learn/deploying-and-interacting(opens in a new tab) - OpenZeppelin
- Hardhat を使用したコントラクトのデプロイ(opens in a new tab) - Nomic Labs
イーサリアムを学ぶために利用したコミュニティリソースはありますか? もしあればページを編集して追加してください!