본문 바로가기
프로그래밍/Solidity

Hardhat에서 테스트용 월렛 정보 받아오기

by 쿼카퀀트 2021. 12. 23.
728x90

Hardhat은 Remix처럼 버튼 클릭으로 데이터를 받아오는 방식이 아니기에, 테스트용 월렛 정보를 받아오기 위해선 javascript를 사용해야 합니다.

 

바로 코드부터 확인하겠습니다.

const {ethers, waffle} = require("hardhat")

const provider = waffle.provider;

const [ad1, ad2, ad3] = await ethers.getSigners();
console.log(ad1.address);
console.log(ad2.address);


const balance1 = await provider.getBalance(ad1.address);
bal1 = ethers.utils.formatEther(balance1);

console.log('balance1: ',bal1);

한줄 한줄 설명해보자면,

provider는 hardhat 테스트용 월렛 정보를 받아오기 위한 클래스입니다.

 

ethers.getSigners()는 리스트로 10개의 테스트 월렛 정보를 리턴합니다.

위 코드에선 그 중 ad1, ad2, ad3 세 개만 받아옵니다.

 

다음으로 provider.getBalance(ad1.address)로 ad1의 이더리움 보유량(10000 ether)을 리턴하는데,

문젠 getBalance()가 bigNumber 포맷으로 보유량을 리턴하므로, 이를 사람이 알아볼 수 있는 숫자로 바꿔주기 위해 한 줄의 코드가 더 필요합니다.

 

이를 위해 ethers.utils.formatEther(balance1)를 넣어줍니다.

리턴받은 bal1를 출력해보면, 10000이란 숫자가 뜹니다!

728x90

댓글