見出し画像

Hardhat +α(Hardhat network)①アカウントについて ~ブロックチェーンエンジニアになろう~

今日からはチュートリアルの+αとして、Hardhat networkについて学んでいこうと思います。

これを学ぶことで、Hardhatにおける大まかな仕組みやテストコードでエラーが出てしまった時にどう対応すれば良いのかが見えてくると思います。

本日は、アカウントについて学んでいきたいと思います。

アカウントについて過去に触れているのはこちらになります。

Hardhat入門⑤-2(コントラクトのテスト) ~ブロックチェーンエンジニアになろう~

まずは、こちらの処理を見てください。

   const signers = await ethers.getSigners();
   owner = signers[0];
   addr1 = signers[1];
   addr2 = signers[2];
   addr3 = signers[3];

HadhatのテストネットワークであるHardhat networkにはすでにアカウントリストが存在しています。

そして、そのアカウントをとってくるのが

await ethers.getSigners();

の部分になります。

確かに、getSignerとなっており、Signerは署名する人というような意味なのでなんとなくしっくりくるかもしれません。

   const signers = await ethers.getSigners();
   owner = signers[0];
   addr1 = signers[1];
   addr2 = signers[2];
   addr3 = signers[3];

そして、そこで取得したsignersのリストの最初を「owner」に、2番目をaddr1に、、と入れています。

今回のテーマは、このaccountの正体は何?というところです。

Hardhat公式を見てみましょう。

初期設定として、次のようであると書かれています。

①アカウントは20個
②それぞれ持っているのは 10000 ETH
③アカウントは以下
・0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
・0x70997970C51812dc3A010C7d01b50e0d17dc79C8
・0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
・0x90F79bf6EB2c4f870365E785982E1f101E93b906
・0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65
・0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc
・・・・・・・・・・・・・・・・

つまり、一番最初に格納されているアカウントは

0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266

のようです。

本当か見てみましょう。テストコードをこんな風に書きました。

describe("account test", async () => {
   it("account test", async () => {
     console.log("ownerのaddress : %s", owner.address);

   });
 });

書き方について不明な場合は私のnoteの入門編(テストコード)を見ていただければと思います。

console.log("ownerのaddress : %s", owner.address);

このようにして、ownerのアドレスを確認しましょう。

結果はこちらです。

スクリーンショット 2021-12-09 8.13.01

 ​確かにアカウントが一致していることが確認できましたね。


この続きは次回にしたいと思います。

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