Hardhat

Hardhat을 사용하여 스마트 컨트랙트 배포하기

본 문서에서는 Hardhat을 활용한 스마트 컨트랙트 구축 방법에 대해 알아보겠습니다.

필수 조건

시작하기 전에 다음 필수 구성 요소가 설치되어 있는지 확인합니다.

  • Node.js and npm

  • Hardhat

프로젝트 설정

  1. 프로젝트에 대한 새 디렉터리를 만들고 해당 디렉터리로 이동합니다.

  2. 다음 명령을 실행하여 새 npm 프로젝트를 초기화합니다.

npm init -y
  1. 다음 명령을 실행하여 Hardhat을 설치합니다.

npm install --save-dev hardhat
  1. 다음 명령을 실행하고 프롬프트에 따라 Hardhat을 초기화합니다.

npx hardhat

스마트 컨트랙트 작성

  1. contracts디렉토리에서 이름이 MyContract.sol인 솔리디티 파일을 생성합니다.

  2. 아래와 같이 파일을 작성합니다.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract MyContract {
    // Contract code goes here...
}

스마트 컨트랙트 배포

  1. scripts 디렉토리에 deploy.js 라는 새파일을 생성합니다

  2. Hardhat의 배포 API를 사용하여 배포 스크립트를 작성합니다.

const { ethers } = require("hardhat");

async function main() {
    const MyContract = await ethers.getContractFactory("MyContract");
    const myContract = await MyContract.deploy();

    await myContract.deployed();

    console.log("MyContract deployed to:", myContract.address);
}

main()
    .then(() => process.exit(0))
    .catch((error) => {
        console.error(error);
        process.exit(1);
    });
  1. 다음 명령을 실행하여 배포 스크립트를 실행합니다.

배포할 네트워크 이름을 설정합니다.

npx hardhat run scripts/deploy.js --network <network-name>
  1. 이 스크립트는 스마트 컨트랙트를 배포하고 컨트랙트 주소를 콘솔에 기록합니다.

마무리

Hardhat을 사용하여 스마트 계약을 성공적으로 배포했습니다. 이제 해당 주소를 사용하여 배포된 컨트랙트를 호출할 수 있습니다.

더 자세한 내용은 Hardhat 공식 홈페이지에서 확인하실 수 있습니다.