AgentSkillsCN

midnight-network

Midnight Network智能合约和dApp的安全审计模式。当审查代码是否存在漏洞、隐私泄露、加密弱点或进行安全审计时使用。

SKILL.md
--- frontmatter
name: midnight-network
description: Configure and operate Midnight Network infrastructure including proof servers, indexers, and network endpoints. Use when setting up development environment, troubleshooting connections, or configuring deployments. Triggers on network, proof server, indexer, or testnet questions.

Midnight Network Infrastructure

Configure and manage Midnight Network components for dApp development.

Quick Reference

ServiceTestnet-02 URL
Indexerhttps://indexer.testnet-02.midnight.network/api/v1/graphql
Indexer WSwss://indexer.testnet-02.midnight.network/api/v1/graphql/ws
RPC Nodehttps://rpc.testnet-02.midnight.network
Proof Serverhttp://localhost:6300 (local)
Faucethttps://faucet.testnet-02.midnight.network

Reference Files

Development Setup

1. Start Proof Server

bash
docker run -p 6300:6300 midnightnetwork/proof-server -- \
  midnight-proof-server --network testnet

2. Install Lace Wallet

Download from lace.io and enable Midnight mode.

3. Get Testnet Tokens

Visit the faucet to receive tDUST for testing.

Architecture

text
┌──────────────┐     ┌───────────────┐     ┌──────────────┐
│  Your dApp   │────▶│  Proof Server │────▶│   Midnight   │
│  (Browser)   │     │   (localhost) │     │   Network    │
└──────────────┘     └───────────────┘     └──────────────┘
       │                                          │
       │              ┌───────────────┐           │
       └─────────────▶│    Indexer    │◀──────────┘
                      │   (GraphQL)   │
                      └───────────────┘

Network IDs

typescript
import { NetworkId, setNetworkId } from '@midnight-ntwrk/midnight-js-network-id';

// Always set before using providers
setNetworkId(NetworkId.TestNet);

// Available networks
enum NetworkId {
  DevNet = 'DevNet', // Developer network (not persistent)
  TestNet = 'TestNet', // Persistent testnet
  MainNet = 'MainNet', // Midnight mainnet
  Undeployed = 'Undeployed', // Local testing
}

Health Checks

bash
# Check proof server
curl http://localhost:6300/health

# Check indexer
curl https://indexer.testnet-02.midnight.network/api/v1/graphql \
  -H 'Content-Type: application/json' \
  -d '{"query":"{ __typename }"}'

Common Issues

IssueSolution
Proof generation timeoutIncrease timeout, check Docker resources
Connection refusedEnsure proof server is running
Network mismatchVerify NetworkId matches wallet
Insufficient fundsGet tDUST from faucet

Best Practices

  • ✅ Start proof server before dApp
  • ✅ Use wallet's service URIs when available
  • ✅ Set NetworkId before provider initialization
  • ✅ Monitor proof server logs for errors
  • ❌ Don't hardcode network URLs (use config)