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