소프트웨어 개발
FoundryFoundry
Foundry는 Ethereum 스마트 컨트랙트 개발을 위한 Rust 기반 고성능 개발 프레임워크다. Paradigm이 2021년 오픈소스로 공개했으며, Solidity로 테스트를 직접 작성하는 방식과 압도적인 속도로 빠르게 업계 표준으로 자리잡았다.
주요 구성 요소
| 도구 | 설명 |
|---|---|
| Forge | 컴파일·테스트·배포 도구 (핵심 CLI) |
| Cast | 블록체인 읽기/쓰기 CLI (트랜잭션 전송, 체인 쿼리) |
| Anvil | 로컬 EVM 노드 (Hardhat Network와 유사, 포크 지원) |
| Chisel | 인터랙티브 Solidity REPL |
Hardhat과의 비교
| 항목 | Foundry | Hardhat |
|---|---|---|
| 기반 언어 | Rust (매우 빠름) | JavaScript |
| 테스트 언어 | Solidity | JS/TypeScript |
| 속도 | 압도적으로 빠름 | 보통 |
| 퍼즈 테스트 | 내장 (수천만 케이스 가능) | 별도 플러그인 |
| 불변성 테스트 | 내장 (Invariant Test) | 제한적 |
| 플러그인 생태계 | 빠르게 성장 | 성숙, 플러그인 풍부 |
| 추천 대상 | 보안 감사자, Solidity 전문가 | 풀스택 개발자, JS 친숙 팀 |
실무에서는 둘 다 함께 사용하는 경우도 많다. hardhat-foundry 플러그인으로 혼합 사용 가능.
핵심 테스트 기능
기본 단위 테스트:
Fuzz Testing — 임의 입력으로 자동 테스트:
Cheatcodes — 테스트 환경 조작:
자주 쓰는 명령어
관련 개념
- •스마트 컨트랙트 — Foundry로 개발하는 대상
- •Solidity — Foundry 테스트 작성 언어
- •Hardhat — 주요 대안 개발 프레임워크
- •ABI — Foundry 컴파일 시 생성
- •EVM — Anvil이 에뮬레이션하는 실행 환경
