dapp 개발을 위한 개발도구로써 HardHat을 선택하였다.
HardHat은 Truffle과 유사한 Smart Contract개발 도구로써
이전엔 Builder라는 이름으로 사용되었으나 이 후 현재의 HardHat으로 변경되었다.
Smart Contract 전문 개발 도구로써, Smart Contract작성, 컴파일, 테스트, 배포 등을 가능하게 해준다.
HardHat은 Truffle과는 다르게 내부적으로 Ganache와 같은 가상 이더리움 네트워크를 제공해줌으로써
단위 테스트를 실행할 때 Ganache가 필요하지 않다. <- 장점
먼저 hardhat.config.js 을 통해 초기 설정을 진행할 수 있다.
module.exports = {
solidity: {
version: "0.8.10",
settings: {
// setting solidity
},
},
networks: {
hardhat: {
blockGasLimit: //limit
},
bsctest: {
url: //url
chainId: //id
gasPrice: //Gwei
blockGasLimit: //gasLimit
accounts: //PRIVATE_KEY
},
위 예시코드와 같이 solidity의 version
settings
, 네트워크 추가, 세팅 등을 진행할 수도 있다.
또한
npx hardhat accounts
명령어를 통해 hatdhat의 내부 가상 이더리움 네트워크의 계정을 확인할 수도 있다.
위와같이 contracts디텍토리에 Contract 파일을 작성하면 된다.
작성한 Contract는 npx hardhat compile
명령어를 통해
compile 할 수 있으며
이때 compile된 Contract는 artifacts/contracts/
경로에 저장된다.
HardHat에서는 truffle과 동일하게 자바스크립트로 unit test를 진행 할 수 있다.
이때 chai
와 같은 자바스크립트 테스트 프레임워크를 사용하여 테스트 코드를 작성할 수 있다.