Notice
Recent Posts
Recent Comments
«   2025/08   »
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
31
Archives
Today
Total
관리 메뉴

Tyojong

Foundry 본문

web3/basic knowledge

Foundry

Tyojong 2025. 7. 8. 16:20

Foundry란?

Foundry는 Foundry organization에 의해 개발된 스마트 컨트랙트 개발 툴체인이다.

  • Rust로 작성되었으며 안정적이고 빠른 성능을 가진다.
  • 툴체인 내에 여러 툴을 통해 테스트넷 실행부터 패키지 매니저, 배포 및 디버깅까지 다양한 기능을 제공한다.

Foundry Tools

  • Forge : 작성한 스마트 컨트랙트를 빌드, 테스트, 배포하는 기능을 가진다. git의 submodules 기능을 바탕으로 종속성을 관리하는 기능을 제공해 git 서버 위에 올라가 있는 스마트 컨트랙트들을 쉽게 추가하고 관리할 수 있다.
  • Cast : 이더리움 RPC (Remote procedure call) 요청을 직접 보낼 수 있는 툴이다. 자신이 배포한 스마트 컨트랙트를 호출해보거나 트랜잭션을 보내는 등의 동작을 수행할 수 있다.
  • Anvil : 로컬 환경에서 테스트넷을 실행할 수 있는 툴이다.
  • Chisel : Solidity REPL (Read-eval-print loop) 툴로 Python의 인터랙티브 모드와 같은 기능을 제공한다.빠르게 실행해볼 Solidity 코드가 있을 때 사용하거나 디버깅 관련 기능을 제공한다.

 


Foundry 설치 방법

WSL 환경

curl -L https://foundry.paradigm.xyz | bash

위 명령어 입력 후 wsl을 재시작 한다.

 

foundryup

이후 foundryup 명령어를 입력하면 Forge, Cast, Anvil, Chisel 툴이 설치된다.

 


Foundry 실습

mkdir FoundryTest
cd FoundryTest

프로젝트를 생성할 디렉토리를 만들고 들어간다.

 

forge init helloWorld

forge 명령어를 이용해 프로젝트를 생성한다.

 

cd helloWorld
forge build

프로젝트를 빌드한다.

 

forge test

테스트를 실행한다.

 

로컬 테스트넷 실행

anvil

anvil명령어를 실행하면 10000 이더가 들어있는 계정 10개가 생성되고 지갑의 Mnemonic과 Derivation path가 제공된다.

※외부의 테스트넷이나 메인넷에서 실제로 사용하면 안 된다.

Mnemonic (니모닉) : 암호화폐 지갑을 복구하거나 불러올 때 사용되는 단어 조합. 보통 12개 또는 24개의 단어로 구성되며 지갑의 비밀번호 역할을 한다.

Derivation path (파생 경로) : 블록체인 주소가 생성되는 방식을 정의하는 규칙

 

Chain ID : 한 번 보낸 트랜잭션이 두 번 이상 실행되지 않게 하기 위해 노드마다 가지는 값

Base Fee : 트랜잭션을 보낼 때 내야하는 기본 수수료

Gas Limit : 최대 사용 가능한 Gas 값

Genesis Timestamp : 제네시스 블록(Genesis block)의 유닉스 타임스탬프를 의미

Genesis block : 네트워크 첫 번째 블록

 

컨트랙트 배포

forge init --template https://github.com/foundry-rs/forge-template first_contract

 

'web3 > basic knowledge' 카테고리의 다른 글

WEB3 기본 개념  (0) 2025.07.06