Hardhat +α(Hardhat network)②アカウントについて ~ブロックチェーンエンジニアになろう~
前回の続きです。
Hardhat公式
Hardhat networkのアカウントが公式で
・0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
・0x70997970C51812dc3A010C7d01b50e0d17dc79C8
・0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
・0x90F79bf6EB2c4f870365E785982E1f101E93b906
・0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65
・0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc
・・・・・・・
とありましたので前回は1番最初のアカウントを確認しました。
では本日はその続きも正しいか見てみましょう。
const signers = await ethers.getSigners();
owner = signers[0];
addr1 = signers[1];
addr2 = signers[2];
addr3 = signers[3];
(途中省略)
describe("account test", async () => {
it("account test", async () => {
console.log("ownerのaddress : %s", owner.address);
console.log("addr1のaddress : %s", addr1.address);
console.log("addr2のaddress : %s", addr2.address);
console.log("addr3のaddress : %s", addr3.address);
});
})
結果はこちらです。
確かに上のアカウントリストと一致していますね。
では次にこのアカウントに初期設定として格納されている10,000ETHについて確認していきましょう。
console.log("ownerのbalance : %s", await owner.getBalance());
console.log("addr1のbalance : %s", await addr1.getBalance());
console.log("addr2のbalance : %s", await addr2.getBalance());
console.log("addr3のbalance : %s", await addr3.getBalance());
結果はこちらです。
予想と違うと思った方もいるかもしれません。
① ownerのbalance
なんだかピッタリではありませんね。
ここからわかることが2つあります。
実はこの少し上のコードで、コントラクトのデプロイをしていました。その際に
① コントラクトのデプロイによってbalance(ガス代)が消費された。
② コントラクトのデプロイはデフォルトでアカウントリストが
一番上のownerというアカウントで実行された
ということになると思います。
② balanceの桁数
桁数が多すぎると思った方もいるかもしれません。
実は基本的にはETHという単位ではなく、その最小単位であるweiという単位が使われているからです。
weiはETHの10の18乗分の一の単位です。
この続きは次回です。
いいなと思ったら応援しよう!
サポートをしていただけたらすごく嬉しいです😄
いただけたサポートを励みに、これからもコツコツ頑張っていきます😊