midnight-network
SKILL.md
Midnight Network Infrastructure
Configure and manage Midnight Network components for dApp development.
Quick Reference
| Service | Testnet-02 URL |
|---|---|
| Indexer | https://indexer.testnet-02.midnight.network/api/v1/graphql |
| Indexer WS | wss://indexer.testnet-02.midnight.network/api/v1/graphql/ws |
| RPC Node | https://rpc.testnet-02.midnight.network |
| Proof Server | http://localhost:6300 (local) |
| Faucet | https://faucet.testnet-02.midnight.network |
Reference Files
| Topic | Resource |
|---|---|
| Network Config | references/network-config.md |
| Proof Server | references/proof-server.md |
| Indexer Queries | references/indexer-graphql.md |
| Troubleshooting | references/troubleshooting.md |
Development Setup
1. Start Proof Server
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
┌──────────────┐ ┌───────────────┐ ┌──────────────┐
│ Your dApp │────▶│ Proof Server │────▶│ Midnight │
│ (Browser) │ │ (localhost) │ │ Network │
└──────────────┘ └───────────────┘ └──────────────┘
│ │
│ ┌───────────────┐ │
└─────────────▶│ Indexer │◀──────────┘
│ (GraphQL) │
└───────────────┘
Network IDs
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
# 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
| Issue | Solution |
|---|---|
| Proof generation timeout | Increase timeout, check Docker resources |
| Connection refused | Ensure proof server is running |
| Network mismatch | Verify NetworkId matches wallet |
| Insufficient funds | Get 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)
Weekly Installs
3
Repository
fractionestate/…v-skillsFirst Seen
Jan 31, 2026
Security Audits
Installed on
gemini-cli3
opencode2
antigravity2
replit2
claude-code2
github-copilot2