見出し画像

Hardhat入門⑦(別のネットワークでの実施) ~ブロックチェーンエンジニアになろう~

今日もHardhat公式からやっていきます。

なんと、今日はとうとう別のネットワークにデプロイする日がやってきましたよ。

本番環境までもう少しですね。

まず、Ethereumの本番環境は「mainnet」と呼ばれますが、そこで実際に行うとガス代というお金がかかります。

そのため、テストでは基本「mainnet」は使わずに、本番環境に近いテストネットを使いましょう。

それが Ropsten, Kovan, Rinkeby and Goerliという4つのテストネットです。

このチュートリアルではRopstenを推奨していましたが、私が普段やっているのはRinkebyですのでRinkebyでやってみたいと思います。

実はこれらのテストネットで実施する場合、ガス代がかかります。

しかし、これはテストネットであるため、ここにかかるガス代は自由に取得することができます。

そのため、実際にガスを使って実行するという、かなり本番に近い状態でテストを行うことができます。

まずは「scripts」というフォルダに「deploy.js」というファイルを作り、以下のコードをコピペしましょう。(公式そのままです。)

スクリーンショット 2021-12-08 9.13.26

こちらのコードです。

async function main() {
 const [deployer] = await ethers.getSigners();
 console.log("Deploying contracts with the account:", deployer.address);
 console.log("Account balance:", (await deployer.getBalance()).toString());
 const Token = await ethers.getContractFactory("Token");
 const token = await Token.deploy();
 console.log("Token address:", token.address);
}
main()
 .then(() => process.exit(0))
 .catch((error) => {
   console.error(error);
   process.exit(1);
 });

...どうでしょう???

なんとなく上の部分、よく見ると見覚えがありませんか??

そう、こちら大体がテストコードと同じです。

そのため、わかりにくいなと思った方はテストコードの章を復習すればなんとなくイメージが湧くと思います。

今回新しく出てきたのは

main()
 .then(() => process.exit(0))
 .catch((error) => {
   console.error(error);
   process.exit(1);
 });

になりますが、これはいつも実施するため、おまじないのような感覚でいいのではと思います。

ネットワークの設定

使いたいネットワークを設置するためには「hardhat.config.js」に書いていくことになります。

覚えていますでしょうか?Hardhatの設定が書いてあるようなファイルでしたね。

スクリーンショット 2021-12-08 9.24.04

では、ここからは少し長いですので、次回にまわしたいと思います。



サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊