피드로 돌아가기
Why your Midnight contract "can't be found on chain" (or: Midnight, stop playing with my emotions)
Dev.toDev.to
Infrastructure

Midnight 네트워크 환경 격리 및 Token 메커니즘 기반 배포 프로세스 분석

Why your Midnight contract "can't be found on chain" (or: Midnight, stop playing with my emotions)

Tminus1sec base.eth2026년 6월 26일6beginner

Context

Midnight 프레임워크의 다중 네트워크 환경에서 발생하는 Contract 가시성 문제와 Token 생성 로직의 복잡성 분석. 특히 폐기된 testnet-02와 같은 구버전 네트워크 설정이 포함된 레거시 설정 파일 사용으로 인한 배포 실패 사례 발생.

Technical Solution

  • Local, Preview, Preprod, Mainnet으로 분리된 독립적 Network 환경 구축을 통한 테스트 단계별 격리
  • ZK-Proof 생성을 위한 Proof Server 인프라를 Docker 기반 Local 실행 또는 Wallet 통합 방식으로 제공하여 연산 부하 분산
  • NIGHT(거버넌스/스테이킹)와 DUST(트랜잭션 수수료)로 구분된 Dual Token 모델 설계를 통해 네트워크 운영 효율화
  • Wallet 내 NIGHT 보유 후 명시적 Registration 과정을 거쳐 DUST를 생성하는 Potential Energy 기반 수수료 공급 로직 적용
  • API Version 및 Indexer URL 검증을 통한 잘못된 Network Endpoint 접근 차단 및 배포 무결성 확보

- 배포 전 Config 파일 내 Indexer 및 Node URL이 최신 네트워크(Preview/Preprod)인지 grep으로 검증 - Test Network 이용 시 Faucet을 통한 tNIGHT 확보 후 반드시 Registration 단계를 수행하여 tDUST 생성 여부 확인 - Wallet의 Network 설정을 Target Chain과 일치시킨 후 주소를 추출하여 Faucet 요청 수행 - 배포 완료 후 Public Explorer를 통해 Contract 주소의 온체인 존재 여부를 최종 검증

원문 읽기