Hardhat을 이용한 컨트랙트 배포
Last updated
Last updated
하드햇 (Hardhat)은 이더리움 소프트웨어를 위한 개발 프레임워크입니다. 컨트랙트 디앱 개발, 컴파일, 디버깅, 배포 등 이더리움을 개발하기 위한 다양한 기능이 구성되어 있습니다.
디카르고는 이더리움의 EVM과 상호 작용을 할 수 있기에, 디카르고 네트워크에 컨트랙트를 배포할 수 있습니다.
하드햇과 디카르고 웨어하우스를 사용하여 지갑 디앱 (Wallet dApp)을 구축하는 방법을 살펴보겠습니다.
사전 준비 사항 (Prerequisites)
Node.js & npm/yarn:
Installed from .
Hardhat: Development environment for Ethereum.
Install with:
하드햇 프로젝트를 새로 초기화합니다.
다음은 하드햇 프로젝트의 폴더 구조에 대한 예시입니다.
contracts 폴더 안에 Counter.sol
파일을 생성한 다음 아래 코드를 복사하여 붙여 넣습니다.
해당 코드는 변수 Number를 설정할 수 있는 간단한 기능이 구현되어 있습니다.
./ignition/modules
폴더 안에 Counter.js
파일을 생성한 다음 아래 코드를 복사하여 붙혀 넣습니다.
필요한 플러그인 및 구성을 hardhat.config.js
에 작성합니다.
require('dotenv').config()
: .env
를 불러옵니다.
accounts: [process.env.PRIVATE_KEY] : .env
에 작성된 개인키를 전달합니다.
.env
파일 안에 다음을 추가합니다. gitignore
파일에 .env
가 추가되었는지 확인합니다.
counter.sol
을 컴파일합니다.
counter.sol
코드를 디카르고 웨어하우스에 배포합니다.
배포된 컨트랙트의 트랜잭션 정보를 조회합니다.
이더리움이나 EVM 기반 블록체인에서 스마트 컨트랙트를 개발해 보셨다면, 아마 하드햇의 검증 (verify) 기능을 사용해 보셨을 겁니다.
추가로 개발에 필요한 를 설치합니다.
해당 코드는표준 코드이며, 컨트랙트 배포를 수행합니다.
에서 트랜잭션 정보 검색할 수 있습니다.
하지만 저희 디카르고 체인은 물류 서비스에 최적화된 블록 익스플로러 (Explorer)인 를 자체적으로 개발했기 때문에, 하드햇의 검증 기능과는 호환되지 않습니다.
대신, 여러분이 개발한 컨트랙트의 투명성을 보장하기 위해 에서 제공하는 를 활용할 수 있습니다.