HardHat

kich555·2021년 11월 16일
1

Solidity

목록 보기
6/6

dapp 개발을 위한 개발도구로써 HardHat을 선택하였다.

HardHat은 Truffle과 유사한 Smart Contract개발 도구로써
이전엔 Builder라는 이름으로 사용되었으나 이 후 현재의 HardHat으로 변경되었다.
Smart Contract 전문 개발 도구로써, Smart Contract작성, 컴파일, 테스트, 배포 등을 가능하게 해준다.

HardHat은 Truffle과는 다르게 내부적으로 Ganache와 같은 가상 이더리움 네트워크를 제공해줌으로써
단위 테스트를 실행할 때 Ganache가 필요하지 않다. <- 장점

HardHat을 이용한 Contract 작성과 Unit Test

Hardhat 초기 설정

먼저 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의 내부 가상 이더리움 네트워크의 계정을 확인할 수도 있다.

Hardhat Contract 작성

위와같이 contracts디텍토리에 Contract 파일을 작성하면 된다.

HardHat Compile

작성한 Contract는 npx hardhat compile 명령어를 통해
compile 할 수 있으며

이때 compile된 Contract는 artifacts/contracts/경로에 저장된다.

HardHat UnitTest

HardHat에서는 truffle과 동일하게 자바스크립트로 unit test를 진행 할 수 있다.

이때 chai 와 같은 자바스크립트 테스트 프레임워크를 사용하여 테스트 코드를 작성할 수 있다.

profile
const isInChallenge = true; const hasStrongWill = true; (() => { while (isInChallenge) { if(hasStrongWill) {return 'Success' } })();

0개의 댓글