온체인 레이싱 게임 스마트컨트랙트 구조 문서
Hardhat과 Foundry를 병행하는 레이싱 게임 온체인 컨트랙트 저장소의 구조를 정리한 공개 문서
이 프로젝트에서의 Foundry 활용
컨트랙트 단위 테스트 실행
프로젝트 2개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
Solidity로 스마트컨트랙트를 빌드·테스트·배포할 수 있는 빠른 개발 툴킷
Foundry는 Rust로 작성된 이더리움 스마트컨트랙트 개발 프레임워크로, 컨트랙트 빌드, 테스트, 가스 사용량 분석, 로컬 체인 실행, 배포까지 한 도구 체인으로 처리할 수 있게 만들어졌다. 테스트 코드를 JavaScript가 아닌 Solidity로 직접 작성할 수 있어 별도의 언어 전환 없이 컨트랙트와 동일한 언어로 테스트를 짤 수 있다는 점이 특징이다. 컴파일과 테스트 실행 속도가 빠르고, 실제 체인 상태를 로컬에 포크해 테스트할 수 있어 온체인 상호작용이 많은 컨트랙트를 검증하는 데 적합하다.
Counter 컨트랙트를 배포한 뒤 increment 함수 호출 결과를 검증하는 테스트로, `forge test` 명령으로 실행한다.
// test/Counter.t.sol
pragma solidity ^0.8.13;
import "forge-std/Test.sol";
import "../src/Counter.sol";
contract CounterTest is Test {
Counter public counter;
function setUp() public {
counter = new Counter();
}
function test_Increment() public {
counter.increment();
assertEq(counter.number(), 1);
}
}위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
Hardhat과 Foundry를 병행하는 레이싱 게임 온체인 컨트랙트 저장소의 구조를 정리한 공개 문서
이 프로젝트에서의 Foundry 활용
컨트랙트 단위 테스트 실행
VRGDA 방식 동적 가격 경매 위에서 동작하는 온체인 레이싱 봇의 아키텍처와 전략 패턴을 정리한 학습 문서
이 프로젝트에서의 Foundry 활용
빌드, 테스트, 가스 프로파일링 및 배포 스크립트 실행
위 프로젝트들에서 같이 쓰인 다른 기술입니다.