개발하는 것만큼 빨리 배우는 효과적인 방법이 없을 것 같다고 판단했다.
따라서 Solidity를 활용하여 스마트 컨트랙트 개발을 직접 실습해보고자 한다.
이번 글에서는 MacOS에서 Solidity 개발을 시작하기 위해 Foundry를 설치하는 과정을 정리해보려 한다.
1. Foundry란?
Foundry는 이더리움 기반 스마트 컨트랙트 개발을 위한 개발 도구 모음들이다.
- Solidity로 작성한 스마트 컨트랙트를 컴파일하고, 테스트할 수 있다
- 로컬 블록체인에서 실행하거나 테스트넷에 배포하는 데 사용할 수 있다.
- 즉, Solidity 실습을 시작하기 위해 매우 적합한 도구이다.
2. Foundry를 설치하면 함께 설치되는 도구들
- forge
- forge는 Foundry에서 가장 핵심이 되는 도구다
- Solidity 프로젝트를 생성하고, 컨트랙트를 컴파일하고, 테스트를 실행하는 데 사용된다.
- 예를 들어 테스트를 실행한다고 하면 다음 명령어를 사용한다. " forge test "
- cast
- cast는 이더리움 블록체인과 상호작용할 수 있게 해주는 CLI 도구다.
- 예를 들어 스마트 컨트랙트의 함수를 호출하거나, 특정 주소의 잔액을 확인하거나, 거래 정보를 조회할 때 사용할 수 있다.
- 쉽게 말해, cast는 터미널에서 블록체인과 직접 대화할 수 있게 하는 도구다.
- 예를 들면, " cast balance <지갑 주소> "
- anvil
- anvil은 로컬 이더리움 블록체인을 실행해주는 도구다.
- 실제 메인넷이나 테스트넷에 배포 전, 내 컴퓨터에서 블록체인 환경을 실행할 수 있다
- anvil 명령어를 실행하면 로컬 블록체인이 실행되고, 테스트용 계정과 개인키가 함께 제공된다
- chisel
- chisel은 Solidity 코드를 터미널에서 빠르게 실험해볼 수 있는 REPL도구다.
- REPL은 쉽게 말해서 코드를 한 줄씩 입력하고 바로 결과를 확인할 수 있는 환경이다
- 문법이나, 간단한 코드를 빠르게 테스트하고 싶을 때 사용할 수 있다
3. 설치 과정
나는 Mac환경이라 Homebrew는 이미 설치가 되어있었고, Foundry설치를 위해선 아래와 같이 명령어를 입력했다.
그러면 Foundry 설치 관리자 역할을 하는 foundryup이 설치된다.
curl -L https://foundry.paradigm.xyz | bash
설치 중 아래와 같은 경고 메시지가 출력되었다. liusb는 USB장치와 관련된 라이브러린데, Foundry를 사용하는 데 항상 필수적으로 문제가 되진 않지만, 경고가 발생해서 설치를 해주었다.
warning: libusb not found.
You may need to install it manually on MacOS via Homebrew.
4. 터미널 환경 적용
설치 후에는 foundryup 명령어를 바로 사용할 수 있도록 터미널 환경을 다시 적용해야 한다.
source /Users/sungjae/.zshenv
5. Foundry 설치
이제 foundryup을 실행해서 Foundry 도구들을 설치한다.
foundryup
이 명령어를 실행하면 위에서 말한 도구들이 설치된다.
설치가 끝나면 --version 명령어를 통해 정상적으로 설치가 된 것을 확인할 수 있다.
forge --version
cast --version
anvil --version
chisel --version
6. 정리
전체 명령어 흐름을 정리하면 아래와 같다.
1. curl -L https://foundry.paradigm.xyz | bash
2. brew install libusb
3. source /Users/sungjae/.zshenv
4. foundryup
5. forge --version
cast --version
anvil --version
chisel --version
그리고 설치한 도구들과 그 역할을 정리하자면 아래와 같다.
| 도구 | 역할 |
| Foundry | Ethereum 스마트 컨트랙트 개발 도구 모음 |
| foundryup | Foundryup 설치 및 업데이트 관리 |
| forge | Solidity 프로젝트 생성, 컴파일, 테스트 |
| cast | 블록체인 데이터 조회 및 컨트랙트 호출 |
| anvil | 로컬 Ethereum 블록체인 실행 |
| chisel | Solidity 코드를 터미널에서 실험하는 REPL |
| libusb | MacOS에서 필요한 USB관련 라이브러리 |
'블록체인' 카테고리의 다른 글
| Solidity 실습: Mapping으로 사용자별 데이터 저장 (0) | 2026.05.24 |
|---|---|
| Solidity 실습: Foundry (0) | 2026.05.22 |
| Solidity 알아보기 ( 공식 문서 참고 ) (0) | 2026.05.19 |
| 스마트 컨트랙트란 (1) | 2026.05.18 |
| 레이어란 (0) | 2026.05.17 |