testnet
GitHub EN

스마트 컨트랙트 아티팩트 관리하기

developer beginner

전체 재컴파일, 대상 업데이트, 작업 공간 정리와 같은 일반적인 개발 작업을 위해 compile_smart_contracts.py 스크립트를 사용하는 실용적인 가이드입니다.

사전 요구사항

  • Maroo 리포지토리를 로컬에 클론.
  • Python 3.8+ 및 Node.js 18+ 설치.

작업 1: 모든 컨트랙트 전체 재컴파일

개발 환경을 처음 설정하거나 여러 컨트랙트에 영향을 미치는 주요 변경 사항을 가져온 후에는 전체 재컴파일을 수행해야 합니다. 이는 모든 아티팩트가 최신 상태임을 보장합니다.
# 1. Hardhat 의존성이 설치되었는지 확인
cd contracts
yarn install

# 2. 컴파일 스크립트 실행
cd ../scripts/compile_smart_contracts
python3 compile_smart_contracts.py --compile
참고: 전체 재컴파일은 리포지토리의 모든 Solidity 파일을 처리하므로 1~2분 정도 소요될 수 있습니다.

작업 2: 단일 컨트랙트 신속하게 업데이트하기

기능을 개발하는 동안 단일 인터페이스 파일을 약간 변경하는 경우가 많습니다. 전체 재컴파일 대신 --add 플래그를 사용하여 해당 특정 파일의 아티팩트만 업데이트할 수 있습니다. 이것이 훨씬 빠릅니다.
# 예시: precompiles/okrw/IOkrw.sol에 새로운 함수를 추가한 경우
cd scripts/compile_smart_contracts
python3 compile_smart_contracts.py --add precompiles/okrw/IOkrw.sol

작업 3: 빌드 환경 정리하기

이상한 컴파일 오류가 발생하거나 캐싱 문제가 의심되는 경우 빌드 환경을 정리하는 것이 좋습니다. --clean 명령어는 생성된 모든 아티팩트, 집계된 소스 파일 및 Hardhat 프로젝트 내의 node_modules 디렉토리를 제거합니다.
cd scripts/compile_smart_contracts
python3 compile_smart_contracts.py --clean
주의: `--clean`을 실행한 후에는 컴파일하기 전에 `contracts/` 디렉토리에서 `yarn install`을 다시 실행해야 합니다.
소스: maroo
ESC
검색어를 입력하세요