Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- https://developers.kakao.com/
- 참고자료 https://velog.io/@imok-_/javascript-dom-bom-%ec%9d%b4%eb%9e%80
- https://ittrue.tistory.com/90
Archives
- Today
- Total
쿠쿠더님의 블로그
스마트 컨트랙트 개발 환경 정리: Remix, Truffle, Hardhat 비교 본문
- 스마트 컨트랙트 개발 환경이 필요한 이유
- Remix IDE
- Truffle 프레임워크
- Hardhat 프레임워크
- Truffle vs Hardhat 비교
- 환경 선택 가이드
1. 스마트 컨트랙트 개발 환경이 필요한 이유
Solidity로 스마트 컨트랙트를 작성하면 그다음 단계는 배포, 테스트, 디버깅이다.
단순한 예제는 Remix 브라우저 IDE로도 가능하지만, 실무에서는 프로젝트 단위로 관리 가능한 프레임워크가 필요하다.
그래서 등장한 도구들이 Truffle, Hardhat이다.
이들은 컴파일, 테스트, 배포, 로컬 네트워크 실행 등을 도와주는 개발 자동화 프레임워크다.
2. Remix IDE
특징
- 브라우저 기반의 통합 개발 환경
- 설치 없이 바로 사용 가능
- 컴파일, 배포, 호출, 디버깅까지 전부 가능
장점
- 입문자에게 최적화된 UI
- Solidity 코드 작성 → 컴파일 → 배포 → 호출까지 원스톱
- 메타마스크와 쉽게 연동 가능
단점
- 프로젝트 단위 관리에 불리함
- Git 연동이나 대형 프로젝트 구성은 어려움
3. Truffle 프레임워크
특징
- 가장 오래된 이더리움 개발 프레임워크
- Ganache라는 자체 로컬 테스트 네트워크 포함
- 테스트는 Mocha 기반, 배포는 truffle migrate
설치
설치
bash
npm install -g truffle
truffle init
폴더 구조
arduino
contracts/ 스마트컨트랙트 파일 (.sol)
migrations/ 배포 스크립트
test/ 테스트 코드
truffle-config.js 설정파일
명령어
bash
truffle compile # 컴파일
truffle migrate # 배포
truffle test # 테스트
truffle console # 콘솔 실행
단점
- 설정이 다소 복잡하고 업데이트가 느린 편
- 하드헷에 비해 에러 메시지가 불친절함
4. Hardhat 프레임워크
특징
- 최근 가장 많이 사용하는 프레임워크
- 강력한 플러그인 생태계 (ethers, waffle, chai, TypeChain 등)
- Typescript 지원
- 에러 메시지가 친절함
설치
npm install --save-dev hardhat
npx hardhat
폴더 구조
contracts/ 스마트컨트랙트 파일 (.sol)
scripts/ 배포 및 실행 스크립트
test/ 테스트 코드
hardhat.config.js 설정 파일
명령어
npx hardhat compile # 컴파일
npx hardhat run script.js # 배포
npx hardhat test # 테스트
npx hardhat node # 로컬 노드 실행
장점
- 설정이 유연하고 빠름
- 테스트 커버리지, 가스 리포터 등 유용한 툴 연동이 쉬움
- Solidity 0.8+ 완벽 대응
5. Truffle vs Hardhat 비교
| 출시 시기 | 2015년 | 2020년 |
| 기본 테스트 러너 | Mocha | Mocha + Chai + Waffle |
| 로컬 테스트넷 | Ganache | Hardhat Node |
| 에러 디버깅 | 다소 불친절 | 친절한 stack trace 지원 |
| Typescript | 별도 설정 필요 | 기본 지원 |
| 업데이트 속도 | 느림 | 활발한 업데이트 |
| 학습 난이도 | 쉬움 | 중간 |
6. 어떤 걸 선택해야 할까?
상황추천 환경
| 입문자, 학습용 | Remix IDE |
| 팀 프로젝트, 실무 | Hardhat |
| 간단한 프로토타이핑 | Truffle 또는 Remix |
| Typescript 기반 개발 | Hardhat |
| 다양한 도구 연동 필요 | Hardhat (Gas reporter, ABI exporter 등) |
'blockchain(solidity)' 카테고리의 다른 글
| Solidity 스마트 컨트랙트 이벤트 (0) | 2025.07.31 |
|---|---|
| 이더리움 네트워크의 구조 (0) | 2025.07.31 |
| 실무에서 자주 쓰이는 DTO/VO/DAO 완전 정복 (0) | 2025.07.31 |
| 블록체인의 핵심인 P2P 네트워크 (0) | 2025.07.31 |
| 블록체인의 핵심 구조와 디지털 서명 알고리즘 이해하기 (0) | 2025.07.31 |