前提条件
Hardhat プロジェクトがセットアップ済みで、smart contract のコンパイルが正常に完了している必要があります。 その方法については、Hardhat のセットアップと smart contract のコンパイル チュートリアルを参照してください。 任意ですが、強く推奨します:smart contract のテストも正常に完了していることを確認してください。 その方法については、Hardhat を使用した smart contract のテスト チュートリアルを参照してください。デプロイスクリプトの編集
コンピュータ上でコンパイルした smart contract を Injective Testnet 上に存在させるには、ネットワークにデプロイする必要があります。 そのために、hardhat.config.js で指定された値を使用して Hardhat によって事前設定された ethers インスタンスを利用するスクリプトを使用します。
ファイルを開きます: script/deploy.js
artifacts/contracts/Counter.sol/Counter.json を確認したことを思い出してください。このスクリプトでは、ethers.getContractFactory('Counter') がそのファイルを取得し、ABI と EVM bytecode を抽出します。
続く行では、その情報を使用してデプロイトランザクションを構築し、ネットワークに送信します。
成功すると、smart contract がデプロイされたアドレスが出力されます。例:
0x98798cc92651B1876e9Cc91EcBcfe64cac720a1b
他の EVM ネットワークでは、トランザクション(デプロイトランザクションを含む)で gas price と gas limit を指定する必要はありません。ただし、現在 Injective ではこれが必要です。
デプロイスクリプトの実行
以下のコマンドを実行して smart contract をデプロイします:https://testnet.blockscout.injective.network にアクセスして、検索フィールドにアドレスを貼り付けます。
デプロイしたばかりの smart contract のブロックエクスプローラーページが表示されます。
「Contract」タブをクリックすると、そのコントラクトの EVM bytecode が表示され、コンパイル後のアーティファクトディレクトリにある EVM bytecode と一致することが確認できます。
