목록 보기
hardhat과 typechain을 사용한 컨트랙트 개발
백엔드

hardhat과 typechain을 사용한 컨트랙트 개발

엘리시아
엘리시아
2021년 2월 22일

두줄요약

Truffle의 검증·타입 지원 불편을 줄이기 위해 Hardhat과 TypeChain 도입 과정을 정리했습니다. ERC20 구현부터 TypeScript 테스트, Ropsten 배포와 Etherscan 검증 설정을 설명합니다.

문제 상황

  • Truffle 환경의 수동 Etherscan 검증과 반복적인 flatten 작업 부담
  • 스마트 컨트랙트 테스트·배포 과정에서 부족한 TypeScript 정적 타입 지원

해결 방법

  • Hardhat으로 컴파일·테스트·배포를 통합하고 Etherscan 검증 자동화 구성
  • @typechain/hardhat으로 Solidity 컴파일 시 TypeScript 아티팩트 자동 생성
  • OpenZeppelin ERC20 상속 기반의 AssetToken 구현과 타입 기반 테스트 작성

구조와 흐름

  • ethers·ethereum-waffle·chai 기반의 지갑 모킹, 컨트랙트 배포, 잔액 검증
  • Infura provider·환경 변수의 private key·Ropsten 네트워크 설정 후 배포 스크립트 실행
  • Etherscan API 키와 플러그인을 통한 배포 컨트랙트 소스 검증 연계

주의할 점

  • 기존 hardhat-typechain 대신 @typechain/hardhat 사용 필요
  • JSON 아티팩트 import를 위한 tsconfig.json의 resolveJsonModule 설정
  • 배포 계정의 private key 관리와 테스트넷 가스비 준비

다음 읽기

#Hardhat 주제를 이어서 읽기

Hardhat plugin 사용하기 — hardhat-deploy & typechain

hardhat-deploy로 ERC20 컨트랙트 배포와 배포 정보 저장, Etherscan 검증을 자동화했습니다. TypeChain과 named account를 결합해 타입 안전한 컨트랙트 상호작용 흐름을 구성했습니다.

엘리시아
엘리시아
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...