[루디움 렉쳐] 솔리디티 디앱 만들기 / 솔리디티 개발 환경 설정 (Hardhat과 Foundry) / @Ho53903Ho

 

솔리디티를 처음 공부할 때, 주로 REMIX라는 툴을 사용하게 된다. REMIX는 솔리디티 코드를 작성하고 바로 배포하고 테스트할 수 있게 도와주는 툴이다. 좀 더 깊이 공부하다보면, Hardhat과 Foundry를 사용하게 된다. 처음에언뜻봐서는 REMIX와 같은 기능을 하는 것으로 보인다. 하지만, 막상 사용하다보면 솔리디티를 더 잘 다루기 위해서는 Hardhat 또는 Foundry를 꼭 써야한다는 것을 깨닫게 된다.

이번 블로그에서는 이더리움 기반의 스마트 컨트랙트 개발을 지원하는 두 가지 주요 프레임워크인 HardhatFoundry에 대해 설명하고자 한다. 각각의 차이점과 특장점에 대해 정리하고, 간단한 사용법에 대해 설명할 예정이다.

Hardhat과 Foundry 차이점

Remix는 브라우저 기반의 간단한 IDE로 초보자와 교육용에 적합하지만, Hardhat과 Foundry는 대규모 및 복잡한 프로젝트에 더 적합하다. 예를 들어, 1000개의 트랜잭션을 보내는 테스트를 진행하고 싶다면 Remix에서는 일일히 클릭해줘야 하지만, Hardhat 또는 Foundry에서는 몇 줄의 코드로 바로 테스트 환경을 구현할 수 있다. 또한, 테스트 환경에서 테스트를 마치고 본인이 원하는 이더리움 기반의 네트워크에 컨트랙트를 바로 배포할 수 있다. Hardhat과 Foundry는 비슷한 기능을 제공하지만 약간의 차이점이 있다. 따라서, 이들의 차이점을 알고 자신의 상황에 맞게 적합한 프레임워크를 사용하는 것이 좋다.

 

아래 표는 Hardhat과 Foundry의 차이점을 나타내는 표이다.

출처: 루디움 - [Aidenteti crew] 로글스 스터디 프로그램

 

Hardhat은 장점은 풍부한 플러그인 생태계, 다양한 네트워크 지원, TypeScript 및 JavaScript 기반 스크립팅이라는 점이다. 큰 규모의 솔리디티 프로젝트를 담당하고, TypeScript와 다양한 플러그인을 활용하고자 하는 개발자가 사용하기 적합하다.

Foundry의 장점은 빠른 컴파일 속도, Solidity 기반 스크립팅, 고성능 테스트 도구라는 점이다. Rust와 같은 저수준 언어에 익숙한 개발자, 고급 테스트 기능을 필요로 하는 개발자가 사용하면 좋을 것 같다.

 

글로만 보면 하드햇과 파운드리 프레임워크가 언제 어떻게 사용되는지 실감하기 어렵다. 따라서, 아래에서는 Hardhat과 Foundry 설치 및 사용법을 간략히 다룰 예정이다.

Hardhat과 Foundry 사용법

글로만 보면 하드햇과 파운드리 프레임워크가 언제 어떻게 사용되는지 실감하기 어렵다. 따라서, Hardhat과 Foundry 설치 및 사용법에 대해 다룰 예정이다. 사용법은 공식문서를 보는 것이 가장 정확하기 때문에 각 단계에 맞는 공식 문서 링크도 제공하도록 하겠다.

Hardhat 사용법

  1. Node.js 및 NPM 설치
  2. 프로젝트 디렉토리 생성 및 Hardhat 설치
  3. Hardhat 초기화
  4. Hardhat 설정 파일 수정
  5. 스마트 계약 작성 및 컴파일
  6. 로컬 이더리움 네트워크 시작
  7. 스마트 계약 배포 스크립트 작성 및 배포
  8. 지정 네트워크에서 배포
  9. 테스트 스크립트 작성

Foundry 사용법

  1. Foundry 설치
  2. Foundry 프로젝트 기본 구조 설정
  3. 스마트 계약 작성
  4. 스마트 계약 배포
  5. 테스트 스크립트 작성
  6. 유용한 기능

 

이렇게 Hardhat과 Foundry의 특징과 사용법에 대해 알아보았다. 각각의 도구는 개발자의 필요와 선호도에 따라 선택할 수 있으며, 효율적인 스마트 컨트랙트 개발을 위해 적절히 활용하면 된다.