Frequently asked questions
Midnight Network, 개발 도구, 트러블슈팅에 관해 자주 묻는 질문을 정리했습니다. 원하는 답변을 찾지 못했다면 Support 페이지에서 추가 지원을 받을 수 있습니다.
General questions
Midnight Network에 대한 일반적인 질문입니다.
Is there a Midnight white paper?
네. Midnight은 네트워크 아키텍처와 경제 모델을 다루는 기술 백서를 제공합니다:
- Nightpaper: Midnight Network 아키텍처와 프라이버시 보호 smart contract 시스템에 대한 기술 개요입니다.
- Tokenomics incentives: NIGHT 토큰 경제 구조와 네트워크 인센티브 메커니즘을 상세히 설명합니다.
자세한 내용은 midnight.network/whitepaper를 참고하세요.
What tokens are available for use on Testnet? Are there gas fees?
Testnet에서는 test DUST(tDUST) 토큰만 사용할 수 있으며, 이 토큰은 Midnight Testnet 테스트 전용입니다. 자세한 내용은 토큰 획득 페이지를 참고하세요. 향후 Midnight 버전에서는 변경될 수 있으며, 연산 작업량에 비례하여 가스비가 조정될 수도 있습니다.
Developer questions
Midnight Network 개발에 관한 자주 묻는 질문입니다.
Where do I go if I need help troubleshooting my code?
Support 페이지에서 Midnight 팀 및 다른 개발자들과 소통할 수 있는 다양한 방법을 확인할 수 있습니다. 코드 트러블슈팅을 포함한 모든 질문을 환영합니다.
What types of DApps can I build on the Midnight Testnet?
하나의 컨트랙트가 circuit 내에서 다른 컨트랙트를 호출할 필요가 없는 DApp이라면 대부분 구축할 수 있습니다. 비공개 결제 DApp, 비공개 경매 DApp, shielded 신원 인증 DApp 등이 대표적인 예시입니다.
What types of DApps can not yet be built on Testnet?
Oracle이 필요한 DApp(가격 데이터나 외부 데이터가 필요한 경우)은 아직 구축할 수 없습니다. 예를 들어, 비트코인 가격 데이터가 필요한 DeFi 대출 DApp이 이에 해당합니다.
Can I reuse Solidity code on Midnight?
아니요. Midnight DApp은 TypeScript와 Compact로 개발합니다. Compact는 프라이버시 proof를 생성하는 zero-knowledge circuit을 작성하기 위한 전용 프로그래밍 언어입니다.
What are the key unique concepts or coding patterns I need to know to create DApps on Midnight?
Midnight에서 가장 중요한 개념은 public record에 올릴 정보와 비공개로 유지할 정보를 구분하는 것입니다. 예를 들어, 누군가가 25세 이상이라는 사실은 컨트랙트의 public space에 올릴 수 있지만, 생년월일이나 정확한 나이는 비공개로 유지할 수 있습니다. 이처럼 공개 영역에 실제로 무엇이 필요한지 판단하는 것이 Midnight 프로그래밍의 핵심입니다.
컨트랙트를 Midnight의 컨트랙트 언어로 작성한 뒤, DApp 자체는 표준 TypeScript로 개발합니다. 따라서 기존 JavaScript, TypeScript 개발 경험을 그대로 활용할 수 있습니다.
How does Midnight work at a high level?
Midnight의 아키텍처와 How Midnight works 섹션을 참고하세요.
What is the current Testnet block time (time to finality)?
Testnet 블록 타임은 6초입니다. 이 시간은 네트워크 파라미터에 의해 조절되며 변경될 수 있습니다. Finality는 보통 블록 생성 후 1~2블록 이내(약 18초 이내)에 달성됩니다.
I'm getting ERR_UNSUPPORTED_DIR_IMPORT. What should I do?
이 에러는 Node.js가 특정 파일 대신 디렉토리를 import하려고 할 때 발생합니다. ~/.zshrc 수정, Node 버전 변경, 환경 변수 설정 후 터미널 환경이 갱신되지 않은 경우에 흔히 나타납니다.
해결 방법:
- 셸 설정이나 Node 버전을 변경한 후에는 새 터미널 창을 여세요 (
source ~/.zshrc만으로는 부족합니다). - 올바른 Node 버전을 사용하고 있는지 확인하세요 (Midnight은 Node 18 이상을 권장합니다):
nvm use - 모듈 캐시를 삭제하세요:
rm -rf node_modules/.cache