Hardhat 사용하기

프동프동·2022년 11월 17일
0

Blockchain

목록 보기
3/12
post-thumbnail

Hardhat

  1. npm install --save-dev hardhat
  2. npx hardhat

  • Truffle과 유사한 EVM용 스마트 컨트랙트 통합 개발툴
  • 특징
    • Truffle과 달리 로컬 블록체인도 같이 제공
      • 프로젝트 내의 로컬 패키지로 설치하여 사용
      • 이는 개발 환경을 재현 가능하게 해주고 버전 충돌을 방지함
    • console.sol 라이브러리 파일 제공
      • 컨트랙트 개발 시 중간중간에 값을 출력해보는 용도로 유용하게 사용됨
  • 구조
    • 컴파일 전
      • contracts/ : 컨트랙트 파일 위치
      • scripts/ : 컨트랙트 배포 파일 위치
      • test/ : 컨트랙트 테스트 파일 위치
      • .gitignore : git 무시될 파일 정보
      • hardhat.config.js : Hardhat 환경 설정 파일
        • 컨트랙트 컴파일러 버전 명시
        • 블록체인 프로바이더 명시
      • package.json : Hardhat 프로젝트 생성 시 기본적으로 필요한 모듈리스트
    • 컴파일 후
      • artifacts/build-info/ : 함께 컴파일 된 파일은 같은 solc input, output을 가지는데 모든 debug 파일에 이 정보가 중복되는건 비효율적이라서 이를 따로 빼서 이 디렉토리에 저장
      • artifacts/contracts/ : 컨트랙트 빌드 파일 위치
      • artifacts/hardhat/ : Hardhat에서 제공하는 컨트랙트 빌드 파일이 위치
        • 기본적으로 hardhat/console.sol 파일이 제공됨
      • cache/ : 컨트랙트 빌드 캐시 파일이 위치함
  • 블록체인 노드 실행
    • 기본적으로 Hardhat 블록체인 노드가 내장되어 있어 개발시 따로 실행시켜줄 필요 없음

    • 트랜잭션 내역을 쌓아가며 테스트하려면 해당 명령어 실행

      npx hardhat node
    • 기본적으로 127.0.0.1:8545

  • 컨트랙트 컴파일
    	npx hardhat compile
    • 컴파일 시 artifacts/, cache/ 디렉터리 생성됨
  • 재 컴파일
    	npx hardhat compile --force
  • 컨트랙트 배포
    	npx hardhat compile run scripts/deploy_file_name.js
profile
좋은 개발자가 되고싶은

0개의 댓글