본문 바로가기

IT/Blockchain

Hardhat 튜토리얼 - 1) 시작

728x90

 

블록체인 스마트 컨트랙트를 작성하기 위해 Solidity라는 언어를 사용합니다.

Solidity 언어를 이용해서 개발을 하려면 개발 도구가 필요합니다.

 

그 중에 가장 편하게 접근할 수 있는 것은 Remix 라는 웹 IDE 입니다.

하지만, Remix는 웹 브라우저에서만 사용할 수 있기 때문에 로컬 개발 환경 구성이라는 면에서는 불편한 부분들이 존재합니다.

 

그리고 일반적으로 많이 알려진 Truffle이 있는데 이는 자료가 많이 있습니다.

 

최근에는 Hardhat이라는 개발 도구가 많이 사용되고 있습니다.

 

Hardhat의 간단 소개

 - 하드햇은 이더리움 소프트웨어를 위한 개발 환경

 - 기존에 'Builder'라는 이름에서 'Hardhat'으로 변경

 - 즉시 실행 가능한 내부 가상 이더리움 네트워크를 제공

 - web3.js 대신에 ethers.js를 사용합니다.

 

Hardhat 시작

( 사전에 node.js 및 npm이 설치되어 있어야 합니다)

폴더 생성 및 해당 폴더 안에서 hardhat 설치

$ mkdir hardhat-tutorial

$ cd hardhat-tutorial

$ npx hardhat
Need to install the following packages:
hardhat@2.17.1
Ok to proceed? (y) y
888    888                      888 888               888
888    888                      888 888               888
888    888                      888 888               888
8888888888  8888b.  888d888 .d88888 88888b.   8888b.  888888
888    888     "88b 888P"  d88" 888 888 "88b     "88b 888
888    888 .d888888 888    888  888 888  888 .d888888 888
888    888 888  888 888    Y88b 888 888  888 888  888 Y88b.
888    888 "Y888888 888     "Y88888 888  888 "Y888888  "Y888

👷 Welcome to Hardhat v2.17.1 👷‍

✔ What do you want to do? · Create a TypeScript project
✔ Hardhat project root: · /Users/beomjooncho/work/hardhat-tutorial
✔ Do you want to add a .gitignore? (Y/n) · y
✔ Do you want to install this sample project's dependencies with npm (hardhat @nomicfoundation/hardhat-toolbox)? (Y/n) · y

npm install --save-dev hardhat@^2.17.1 @nomicfoundation/hardhat-toolbox@^3.0.0

added 733 packages, and audited 734 packages in 24s

129 packages are looking for funding
  run `npm fund` for details

12 vulnerabilities (5 moderate, 4 high, 3 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

✨ Project created ✨

See the README.md file for some example tasks you can run

Give Hardhat a star on Github if you're enjoying it! 💞✨

     https://github.com/NomicFoundation/hardhat

 


기본 폴더 및 설명

 - contrats: solidity로 작성하는 sol 파일이 위치합니다.

 - scripts: 배포(트랜잭션 전송)를 위한 파일이 존재 하며 TypeScript로 선택하여 ts 파일이 존재합니다.

 - test: 작성한 컨트랙트 테스트를 위한 파일이 존재합니다. 이 역시 TypeScript로 작성하는 것으로 선택하였습니다.

 

기본 파일 및 설명

 - hardhat.config.ts: 하드헷과 관련된 네트워크 등 설정을 위한 파일입니다.

 - tsconfig.json: 타입스크립트 사용을 위한 설정 파일입니다.

 

최초 hardhat 폴더 및 파일 구성

 


VSCode 확장 프로그램 설치

 - 확장탭에서 solidity를 검색하신 후 아래의 확장팩을 설치해주시면 개발에 도움이 됩니다.

728x90