关于 midnightskill
midnightskill 是一组面向 Midnight Network 开发的 Claude 技能,按任务提供从环境配置、合约编写到隐私审计的指导。开发者可按需读取独立技能,并参考其版本注意事项和示例 DApp。
主要功能
- 01按任务路由到相关技能
- 02覆盖 Compact 合约与 SDK
- 03提供 DApp 构建示例
- 04涵盖 RPC、索引器与网络
- 05包含隐私与安全指导
适用场景
- 01配置 Midnight 开发环境
- 02构建并测试 Midnight DApp
- 03查询链上状态和事件
- 04检查合约隐私边界
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kali-decoder/ midnight-skills --skill midnightskill安装后在 Claude Code 中输入/midnightskill确认已加载。
详细介绍
你很可能掌握着关于在 Midnight Network 上构建应用的过时知识。
本文件将引导你找到包含 Midnight Network 最新知识的正确技能。
这些技能中的软件包版本和 SDK 签名仅反映特定时间点的情况。固定版本前,请实时确认——参见 references/volatile.md。切勿安装 @latest;请使用支持矩阵中的已测试组合。
**需要特定主题?**下方的每项技能都是独立的。仅获取与你的任务相关的技能。如果你要从头开始,请从脚手架技能开始。
按任务选择要获取的技能
| 我正在…… | 获取这些技能 |
|---|
| 在构建前设置 Compact、Docker 和证明服务 | midnight-environment-setup/ |
| 了解 Midnight 的架构、隐私模型和 ZK 方法 | why-midnight/ |
| 比较 ZK、FHE 和 MPC 在隐私保护计算中的应用 | zk-vs-fhe-vs-mpc/ |
| 集成 1AM 钱包,实现无 dust 流程 | 1am-wallet/ |
| 使用 DApp Connector API 构建支持连接/断开钱包的 React 应用 | react-wallet-connector/ |
| 编写 Compact 智能合约 | compact/ |
| 调试 Compact 合约、读取错误并管理版本 | testing/ |
| 使用单一代码库构建面向所有网络的 dApp | multinetwork/ |
| 配置 SDK 提供程序和钱包,以及部署/调用合约 | midnight-js/ |
| 查询区块链数据、监控合约状态并订阅事件 | midnight-indexer/ |
| 集成 Ankr RPC,以连接 Midnight 测试网和主网 | ankr-midnight/ |
| 隐私审计清单、防止数据泄露和防御性 Compact 模式 | midnight-security/ |
| 构建面向 Android 的 Midnight 投票/民意调查 dApp | android-example-voting/ |
| 完整的 DApp 参考示例:钱包、部署、交互(可用作模板) | example-counter/ |
| 使用 Compact 智能合约、基于 vitest 的无头 Node.js 测试和 testkit-js FluentWalletBuilder,从头构建完整的 Midnight Network hello-world DApp。 | hello-world/ |
| 使用 1AM 钱包构建保护隐私的支付金库 | example-payment-dapp/ |
| 在 Midnight 上构建时间锁金库 dApp | example-locker-dapp/ |
| 在 Midnight 上构建保护隐私的排行榜 DApp | example-leaderboard-dapp/ |
| 在 Midnight 上构建带有隐私边界的私人派对 RSVP dApp | example-private-party-dapp/ |
| 构建具有隐藏保留价和私人竞标者的私人保留价拍卖 | example-private-reserve-auction/ |
| 在 Midnight 上构建带有证明的 ZK 贷款申请 | example-zk-loan-application/ |
| 使用 OpenZeppelin 构建 NFT(屏蔽式 + 非屏蔽式) | nft/ |
| 代币转账、余额流程、多方交易 | token-transfers/ |
| 了解 Midnight 共识机制——AURA、GRANDPA 和 Partnerchain 验证者 | midnight-consensus/ |
| 说明 Midnight 节点密码学——哈希和签名方案 | midnight-cryptography/ |
| 说明 Midnight 链上逻辑——运行时、pallet 和 pallet-midnight | midnight-onchain-logic/ |
| 配置或调试 Midnight P2P 网络和对等节点发现 | midnight-p2p-networking/ |
| 查询 Midnight 节点 RPC——合约状态、ZSwap 和账本方法 | midnight-rpc/ |
| 说明 Midnight 链上存储——ParityDB、Trie 和状态根 | midnight-storage/ |
| 说明 Midnight 交易生命周期——证明、交易池和执行 | midnight-transactions/ |
技能
1AM 钱包
- 检测并连接 1AM 浏览器扩展,将其接入前端。
- 提供程序设置、合约部署和无 dust 交易流程。
Android 投票示例
- 使用 Kuira Android SDK 在 Midnight 上构建投票/民意调查 dApp。
- Compact 智能合约、基于通行密钥的身份、嵌入式钱包、Compose UI、设备端 ZK 证明。
Ankr Midnight RPC
- 创建 Ankr 项目,复制带有 API 密钥的 HTTPS/WSS Midnight 端点。
- 用于 midnight_、system_、chain_* 的 JSON-RPC 客户端;将其接入 midnight-js 节点 URL。
Compact
- 每份合约都必需的四个部分、类型系统,以及作为约束的电路。
- Witnesses、
disclose()、账本 ADT、标准库和安全模式。
Example Counter
- 完整的 DApp 参考:无头钱包、CLI、计数器合约。
- 生成 DUST、部署、交互、独立模式。
Example Hello World
- 从头开始,使用 Compact 智能合约、基于 vitest 的无头 Node.js 测试和 testkit-js FluentWalletBuilder,构建完整的 Midnight Network Hello World DApp。
Example Leaderboard Dapp
- 带隐私模式的街机排行榜、
persistentHash所有者承诺,以及verifyOwnershipZK 证明。 - Next.js + 1AM 钱包模板,支持索引器读取和底层部署/调用。
Example Locker Dapp
- 时间锁保险库:锁定未屏蔽的 NIGHT,直到 Unix 截止时间;受益人通过
blockTimeGte和 witness 授权释放。
Example Payment Dapp
- 构建保护隐私的支付保险库:用户通过 Compact 智能合约存入/提取 tNIGHT,并通过 1AM 钱包实现零 Gas 费。
Example Private Party Dapp
- 使用
persistentCommit和 DApp 专用公钥实现私密 RSVP——无需 witnesses。 - 未屏蔽的 NIGHT 签到会跨越隐私边界;Next.js + 1AM 前端模板。
example-private-party仓库中的官方 vitest devnet 测试框架。
Example Private Reserve Auction
- 通过 persistentCommit 隐藏保留价,公开出价但隐藏竞标者身份。
- 使用 Map/Counter 进行跟踪、自动结束拍卖,并在通过未屏蔽付款领取时跨越隐私边界。
- Next.js + 1AM 钱包前端,包含卖家/竞标者角色卡片和索引器轮询。
Example ZK Loan Application
- 使用 Schnorr 证明进行私密信用评分——评分、收入和任职年限都不会写入账本。
- Monorepo:Compact 合约 + 证明 API + CLI;可选的 Next.js + 1AM 前端(采用 leaderboard-dapp 模式)。
Indexer
- GraphQL 查询与订阅、合约状态读取、交易查询。
- 实时事件监听、offset/null 错误的规避方案、TypeScript 辅助工具。
Midnight Consensus
- 修改版 Substrate 共识:使用 AURA 生成区块,使用 GRANDPA 实现最终确定性。
- 自定义验证者集合,支持 Cardano SPO 委托和可选的许可验证者。
Midnight Cryptography
- 使用 Blake2-256 生成区块哈希;使用 twoxhash 生成 trie 存储键。
- sr25519(AURA)、ECDSA(Partnerchain)、Ed25519(GRANDPA + libp2p)。
Midnight Environment Setup
- 检测 OS、Shell、Docker、VS Code 和 Compact;自动安装缺失的工具。
- 配置 PATH、更新编译器、启动证明服务,并验证完整的开发技术栈。
Midnight.js
- TypeScript SDK:Provider 接入、钱包 SDK(HDWallet、WalletFacade、Shielded/Unshielded/Dust)。
- 合约部署、电路调用、DUST 生成、私有状态、测试工具包。
Multinetwork
- 统一 Provider 构建器、钱包抽象、证明服务路由。
- 合约注册表、部署脚本、各网络的 DUST 流程。
NFT
- 在 Midnight 上构建隐私和非隐私 NFT。
- OpenZeppelin NonFungibleToken、铸造、转移、元数据和隐私模式。
链上逻辑与状态
- 使用包含 pallet-midnight 的 FRAME pallets 构建 Polkadot SDK WASM 运行时。
- 证明验证、ZSwap 和合约操作、Patricia-Merkle 状态承诺。
P2P 网络
- 引导节点、mDNS 和 Kademlia DHT 发现策略。
- Noise + Yamux 升级;Ping、Request-Response 和 Notification 子流。
React 钱包连接器
- 使用 DApp Connector API 钱包连接,搭建 React + Vite 应用。
window.midnight枚举、连接/断开连接界面、非隐私地址显示。
RPC 接口
- 用于合约和账本状态的自定义 midnight_* JSON-RPC 方法。
- Polkadot SDK 默认设置、Partnerchain RPC 和验证者 RPC 安全性。
安全
- 隐私审计清单、数据泄漏模式、承诺/空值符设计。
- Witness 信任、抗抢跑能力、交易语义。
存储
- 使用 Patricia-Merkle Trie 状态承诺的 ParityDB 键值存储。
- 使用 twoxhash 生成快速存储键;链上数据的包含性证明。
测试
- 静态与动态错误、读取编译器消息、
--skip-zk开发循环。 - 跨 6 个组件的版本管理、常见调试模式。
代币转账
- 隐私和非隐私代币转账。
- 余额查询、多方流程、交易语义。
交易
- 来自 Midnight Ledger 的嵌入证明的未签名交易。
- 交易池格式校验 → 运行时证明验证 → 状态提交。
为什么选择 Midnight
- 具备公开/私有状态、选择性披露和 zk-SNARK 的数据保护区块链。
- Midnight 的存在原因、工作原理及其提供的隐私保障。
ZK、FHE 与 MPC 的比较
- 零知识证明、全同态加密和安全多方计算之间的权衡。
- 各自适用于哪种隐私 DApp,以及 Midnight 为什么通过 Compact 使用 zk-SNARK。