프로젝트 로컬 실행
각 디렉터리는 자체 의존성이 있습니다. 저장소 lockfile을 사용하고 컨트랙트·ABI·manifest·클라이언트 버전을 맞추세요.
아래 명령은 로컬 구성요소 빌드·검증용이며 운영 배포 절차가 아닙니다.
사전 요구사항
최근 Node.js, dapp·서비스용 pnpm, Solidity용 Foundry, GitBook용 npm을 사용합니다. 서비스는 Node 22 이상, GitBook은 Node 24로 준비했습니다.
컨트랙트는 Solidity 0.8.26, EVM Cancun, via IR, 옵티마이저 10 runs, CBOR 메타데이터 없음을 고정합니다. 모두 bytecode 식별 검증의 일부입니다.
클론 후 저장소 Solidity 의존성을 준비해야 합니다:
git submodule update --init --recursive
컨트랙트 컴파일·테스트
contracts/에서:
forge build --sizes
forge test
설정에는 여러 fuzzing·불변조건 수준이 있습니다:
FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test
gate 프로필은 의도적으로 오래 실행합니다. 결과는 정확한 개정, 매개변수, 컴파일 소스와 묶어야 합니다. 새 다중 매수벽은 검증 중이며 옛 로그는 이 버전 명령의 결과가 아닙니다.
dapp 시작
dapp/에서:
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm dev
Vite가 개발 URL을 표시합니다. 설정은 시뮬레이션과 배포 데이터를 구분합니다. 저장소 예시·지침으로 로컬 RPC를 설정하고 접근 자격정보를 소스나 공개 번들에 넣지 마세요.
프런트엔드 컴파일은 manifest와 네트워크 컨트랙트의 일치를 증명하지 않습니다.
ABI 유지관리
contracts/에서 컴파일 후 내보냅니다:
bash scripts/export-abi.sh
python3 scripts/check-abi.py
dapp은 pnpm gen-abi, 서비스는 pnpm gen:abi를 제공합니다. 생성된 인터페이스·이벤트·타입 변경을 검토하세요. 릴리스 동기화에 새 매수벽 라이브러리와 ID별 뷰를 포함해야 합니다.
dapp의 pnpm sync-deployment는 배포 manifest를 다시 읽습니다. 실제 검증한 버전의 메타데이터로만 실행해야 합니다.
서비스 검증
services/에서:
pnpm install --frozen-lockfile
pnpm gen:abi
pnpm typecheck
pnpm test
keeper dry-run은 README의 로컬 매개변수로 설정합니다. 운영·거래 복구는 전용 페이지를 보세요.
이 GitBook 시작
gitbook/에서:
npm ci
npm run dev
사이트는 http://localhost:4000에서 페이지 재빌드를 제공합니다. 정적 _book/ 생성과 링크 확인:
npm run build
npm run preview
로컬 미리보기는 http://localhost:4001입니다. 글꼴이 내장되며 검색은 브라우저의 책 색인에서 실행됩니다.
문서 브라우저 절차 검증:
npm run test:install
npm run test:browser
gitbook/ README는 HonKit 선택, 구조, 검사, 편집 유지관리를 설명합니다.
출처: contracts/foundry.toml, 저장소 스크립트, dapp/package.json, services/package.json 및 gitbook/package.json. 이 문서 빌드에는 키나 인증 RPC URL이 필요하지 않습니다.