사진출처: https://hardhat.org/

사진출처: https://hardhat.org/

4주차에는 Hardhat 개발 환경 도구 구축 방법을 알아보고, ERC-20 표준을 따르는 MyToken 토큰을 생성하여 대략적으로 컨트랙트의 배포 과정에 대하여 살펴볼 것입니다. 4주차에서는 각각의 코드의 의미를 이해하기보다는, MyToken 컨트랙트의 배포라는 간단한 예제를 통하여 컨트랙트 배포의 전반적인 흐름을 이해하는 것을 목표로 합니다. 각각의 흐름들에 대해서는 5주차, 6주차에 좀 더 자세하게 다룰 것입니다.

HardHat은 Ethereum 기반 스마트컨트랙트 개발을 편리하게 해 줄 수 있는 개발 환경 도구입니다. HardHat은 로컬 개발 환경에서 컴파일, 배포, 테스트 등 다양한 기능을 지원합니다. HardHat은 기존에 다수를 차지하던 도구인 Truffle에 비하여 verify, testing, console.log 등 여러 기능적인 이점을 제공하기 때문에, 다수의 프로젝트들이 HardHat을 이용하고 있습니다.

HardHat 기본 설정

HardHat은 아래 명령어를 터미널에 입력하여 설치할 수 있습니다.

npm init -y
npm i hardhat --dev

Basic Sample Project를 생성하세요.

Untitled

오픈제플린 라이브러리도 설치해주세요.

npm i @openzeppelin/contracts --dev

테스트 라이브러리 및 Ethers.js 라이브러리도 설치합니다.

npm i @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers --dev

컨트랙트 작성