| name | midnightskill |
| description | Set of skills for developing/building apps on Midnight Network. Always start with this skill to pick the right midnight skill for the task. |
It is very likely that you have stale knowledge about building on Midnight Network.
This file will guide to the right skill with the latest knowledge about Midnight Network.
Need a specific topic? Each skill below is standalone. Fetch only the ones relevant to your task. If you are starting from scratch, start with scaffold skill.
What to Fetch by Task
| I'm doing... | Fetch these skills |
|---|
| Set up Compact, Docker, and proof server before building | midnight-environment-setup/ |
| Understand Midnight's architecture, privacy model, and ZK approach | why-midnight/ |
| Integrate 1AM wallet for dust-free flow | 1am-wallet/ |
| Build a React app with wallet connect/disconnect via DApp Connector API | react-wallet-connector/ |
| Write Compact smart contracts | compact/ |
| Debug Compact contracts, read errors, manage versions | testing/ |
| Build a single dApp targeting all networks from one codebase | multinetwork/ |
| Wire up SDK providers, wallets, deploy/call contracts | midnight-js/ |
| Query blockchain data, watch contract state, subscribe to events | midnight-indexer/ |
| Privacy audit checklist, prevent data leaks, defensive Compact patterns | midnight-security/ |
| Build a voting/poll dApp on Midnight targeting Android | android-example-voting/ |
| Complete DApp reference: wallet, deploy, interact (use as template) | example-counter/ |
| Build a complete Midnight Network hello-world DApp from scratch using Compact smart contract, headless Node.js tests with vitest, and testkit-js FluentWalletBuilder. | hello-world/ |
| Build a privacy-preserving payment vault with 1AM wallet | example-payment-dapp/ |
| Build a time-lock vault dApp on Midnight | example-locker-dapp/ |
| Build a privacy-preserving leaderboard DApp on Midnight | example-leaderboard-dapp/ |
| Build a private party RSVP dApp with privacy boundary on Midnight | example-private-party-dapp/ |
| Build a private reserve auction dApp with hidden reserve price and private bidders | example-private-reserve-auction/ |
| Build a ZK loan application with attestation on Midnight | example-zk-loan-application/ |
| Build NFTs (shielded + unshielded) with OpenZeppelin | nft/ |
| Token transfers, balance flows, multi-party txs | token-transfers/ |
| Understand Midnight consensus — AURA, GRANDPA, and Partnerchain validators | midnight-consensus/ |
| Explain Midnight node cryptography — hashes and signature schemes | midnight-cryptography/ |
| Explain Midnight on-chain logic — runtime, pallets, and pallet-midnight | midnight-onchain-logic/ |
| Configure or debug Midnight P2P networking and peer discovery | midnight-p2p-networking/ |
| Query Midnight node RPC — contract state, ZSwap, and ledger methods | midnight-rpc/ |
| Explain Midnight on-chain storage — ParityDB, trie, and state roots | midnight-storage/ |
| Explain Midnight transaction lifecycle — proofs, pool, and execution | midnight-transactions/ |
Skills
- Detect, connect, and wire 1AM browser extension into frontend.
- Provider setup, contract deployment, and dust-free transaction flow.
- Build a voting/poll dApp on Midnight using the Kuira Android SDK.
- Compact smart contract, passkey-derived identity, embedded wallet, Compose UI, on-device ZK proving.
- The four mandatory pieces of every contract, type system, circuits as constraints.
- Witnesses,
disclose(), ledger ADTs, standard library, and security patterns.
- Complete DApp reference: headless wallet, CLI, counter contract.
- DUST generation, deploy, interaction, standalone mode.
- Build a complete Midnight Network hello-world DApp from scratch using Compact smart contract, headless Node.js tests with vitest, and testkit-js FluentWalletBuilder.
- Arcade leaderboard with privacy modes,
persistentHash owner commitments, and verifyOwnership ZK proofs.
- Next.js + 1AM wallet template with indexer reads and low-level deploy/call.
- Time-lock vault: lock unshielded NIGHT until a Unix deadline; beneficiary releases via
blockTimeGte and witness auth.
- Build a privacy-preserving payment vault: users deposit/withdraw tNIGHT through a Compact smart contract with zero gas fees via the 1AM wallet.
- Private RSVP with
persistentCommit and DApp-specific public keys — no witnesses.
- Unshielded NIGHT check-in crosses the privacy boundary; Next.js + 1AM frontend template.
- Official vitest devnet test harness in
example-private-party repo.
- Hidden reserve price via persistentCommit, public bids with private bidder identities.
- Map/Counter tracking, auction auto-close, privacy boundary on claim via unshielded payment.
- Next.js + 1AM wallet frontend with seller/bidder role cards and indexer polling.
- Private credit scoring with Schnorr attestation — score, income, and tenure never touch the ledger.
- Monorepo: Compact contract + attestation API + CLI; optional Next.js + 1AM frontend (leaderboard-dapp pattern).
- GraphQL queries and subscriptions, contract state reads, transaction lookups.
- Real-time event watching, offset/null bug workaround, TypeScript helpers.
- Modified Substrate consensus: AURA for block production, GRANDPA for finality.
- Custom validator set with Cardano SPO delegation and optional permissioned validators.
- Blake2-256 for block hashes; twoxhash for trie storage keys.
- sr25519 (AURA), ECDSA (Partnerchain), Ed25519 (GRANDPA + libp2p).
- Detect OS, shell, Docker, VS Code, and Compact; install missing tooling automatically.
- Configure PATH, update compiler, start proof server, and verify the full dev stack.
- TypeScript SDK: provider wiring, wallet SDK (HDWallet, WalletFacade, Shielded/Unshielded/Dust).
- Contract deployment, circuit calls, DUST generation, private state, testkit.
- Unified provider builder, wallet abstraction, proof server routing.
- Contract registry, deploy scripts, DUST flow per network.
- Build shielded and unshielded NFTs on Midnight.
- OpenZeppelin NonFungibleToken, mint, transfer, metadata, privacy patterns.
- Polkadot SDK WASM runtime with FRAME pallets including pallet-midnight.
- Proof verification, ZSwap and contract ops, Patricia-Merkle state commitments.
- Bootstrap, mDNS, and Kademlia DHT discovery strategies.
- Noise + Yamux upgrades; Ping, Request-Response, and Notification substreams.
- Scaffold a React + Vite app with DApp Connector API wallet connection.
window.midnight enumeration, connect/disconnect UI, unshielded address display.
- Custom midnight_* JSON-RPC methods for contract and ledger state.
- Polkadot SDK defaults, Partnerchain RPCs, and validator RPC security.
- Privacy audit checklist, data leak patterns, commitment/nullifier design.
- Witness trust, front-running resistance, transaction semantics.
- ParityDB key-value store with Patricia-Merkle trie state commitments.
- twoxhash for fast storage keys; inclusion proofs for on-chain data.
- Static vs dynamic errors, reading compiler messages,
--skip-zk dev loop.
- Version management across 6 components, common debugging patterns.
- Shielded and unshielded token transfers.
- Balance queries, multi-party flows, transaction semantics.
- Unsigned proof-embedded transactions from the Midnight Ledger.
- Pool well-formedness → runtime proof verification → state commit.
- Data protection blockchain with public/private state, selective disclosure, and zk-SNARKs.
- Why it exists, how it works, and the privacy guarantees it provides.