midnightskill について
midnightskillは、Midnight Network開発向けのClaudeスキル集です。環境構築からコントラクト作成、プライバシー監査まで、必要なトピックを個別に参照できます。
主な機能
- 01作業に応じたスキルの案内
- 02CompactコントラクトとSDKの解説
- 03DApp構築例の提供
- 04RPC、インデクサー、ネットワークの解説
- 05プライバシーとセキュリティの指針
活用シーン
- 01Midnight開発環境の構築
- 02Midnight 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 はインストールしないでください。サポートマトリックスに記載された、テスト済みのセットを使用してください。
特定のトピックをお探しですか? 以下の各スキルは単独で利用できます。タスクに関連するものだけを取得してください。最初から始める場合は、scaffold スキルから始めてください。
タスク別の取得対象
| 作業内容 | 取得するスキル |
|---|
| 開発前に Compact、Docker、proof server をセットアップする | midnight-environment-setup/ |
| Midnight のアーキテクチャ、プライバシーモデル、ZK アプローチを理解する | why-midnight/ |
| プライバシー保護計算における ZK、FHE、MPC を比較する | zk-vs-fhe-vs-mpc/ |
| ダスト不要のフローのために 1AM ウォレットを統合する | 1am-wallet/ |
| DApp Connector API を介してウォレットの接続/切断を行う React アプリを構築する | react-wallet-connector/ |
| Compact スマートコントラクトを作成する | compact/ |
| Compact コントラクトをデバッグし、エラーを読み取り、バージョンを管理する | testing/ |
| 1 つのコードベースからすべてのネットワークを対象とする単一の dApp を構築する | multinetwork/ |
| SDK プロバイダーとウォレットを接続し、コントラクトをデプロイ/呼び出しする | midnight-js/ |
| ブロックチェーンデータをクエリし、コントラクトの状態を監視し、イベントを購読する | midnight-indexer/ |
| Midnight のテストネットとメインネット向けに Ankr RPC を統合する | 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 でプライバシー境界を設けた非公開パーティー出欠確認 dApp を構築する | example-private-party-dapp/ |
| 最低落札価格を非公開にし、入札者を秘匿する非公開リザーブオークション 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-midnight)を説明する | midnight-onchain-logic/ |
| Midnight の P2P ネットワークとピア検出を設定またはデバッグする | midnight-p2p-networking/ |
| Midnight ノード RPC(コントラクトの状態、ZSwap、台帳メソッド)をクエリする | midnight-rpc/ |
| Midnight のオンチェーンストレージ(ParityDB、トライ、状態ルート)を説明する | midnight-storage/ |
| Midnight のトランザクションライフサイクル(証明、プール、実行)を説明する | midnight-transactions/ |
スキル
1AM Wallet
- 1AM ブラウザー拡張機能を検出して接続し、フロントエンドに組み込みます。
- プロバイダーのセットアップ、コントラクトのデプロイ、ダスト不要のトランザクションフロー。
Android Example Voting
- Kuira Android SDK を使用して、Midnight で投票/アンケート dApp を構築します。
- Compact スマートコントラクト、パスキーから導出される ID、組み込みウォレット、Compose UI、デバイス上での ZK 証明。
Ankr Midnight RPC
- Ankr プロジェクトを作成し、API キー付きの HTTPS/WSS Midnight エンドポイントをコピーします。
- midnight_、system_、chain_* 用の JSON-RPC クライアントを用意し、midnight-js のノード URL に接続します。
Compact
- すべてのコントラクトに必須の 4 つの要素、型システム、制約としてのサーキットについて説明します。
- Witness、
disclose()、Ledger ADT、標準ライブラリ、セキュリティパターンを扱います。
Example Counter
- ヘッドレスウォレット、CLI、カウンターコントラクトを含む完全な DApp のリファレンスです。
- DUST の生成、デプロイ、操作、スタンドアロンモードを扱います。
Example Hello World
- Compact スマートコントラクト、vitest を使ったヘッドレス Node.js テスト、testkit-js の FluentWalletBuilder を使って、Midnight Network の完全な Hello World DApp をゼロから構築します。
Example Leaderboard Dapp
- プライバシーモード、
persistentHashによる所有者コミットメント、verifyOwnershipによる ZK 証明を備えたアーケードのリーダーボードです。 - インデクサーからの読み取りと低レベルのデプロイ/呼び出しに対応した、Next.js + 1AM ウォレットのテンプレートです。
Example Locker Dapp
- タイムロック付き保管庫です。非シールド NIGHT を Unix の期限までロックし、受取人が
blockTimeGteと Witness 認証を使ってロックを解除します。
Example Payment Dapp
- プライバシーを保護する決済保管庫を構築します。ユーザーは、1AM ウォレットを介してガス代無料で、Compact スマートコントラクトを使って tNIGHT を入金・出金できます。
Example Private Party Dapp
persistentCommitと DApp 固有の公開鍵を使った非公開 RSVP です。Witness は不要です。- 非シールド NIGHT によるチェックインでプライバシー境界を越えます。Next.js + 1AM フロントエンドのテンプレートです。
example-private-partyリポジトリに、公式の vitest devnet テストハーネスがあります。
Example Private Reserve Auction
persistentCommitで最低落札価格を非公開にし、入札者の身元を秘匿したまま入札額を公開します。- Map/Counter による追跡、オークションの自動終了、非シールド決済による請求時のプライバシー境界を扱います。
- 販売者/入札者の役割カードとインデクサーのポーリングを備えた、Next.js + 1AM ウォレットのフロントエンドです。
Example ZK Loan Application
- Schnorr 証明を使った非公開の信用スコアリングです。スコア、収入、勤続年数が台帳に記録されることはありません。
- モノレポ: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 を使用します。
- sr25519(AURA)、ECDSA(Partnerchain)、Ed25519(GRANDPA + libp2p)に対応します。
Midnight Environment Setup
- OS、シェル、Docker、VS Code、Compact を検出し、不足しているツールを自動的にインストールします。
- PATH の設定、コンパイラーの更新、証明サーバーの起動を行い、開発スタック全体を検証します。
Midnight.js
- TypeScript SDK:プロバイダーの接続、ウォレット SDK(HDWallet、WalletFacade、シールド/非シールド/Dust)。
- コントラクトのデプロイ、サーキットの呼び出し、DUST の生成、プライベート状態、testkit を扱います。
Multinetwork
- 統合プロバイダービルダー、ウォレットの抽象化、証明サーバーのルーティングを提供します。
- コントラクトレジストリ、デプロイスクリプト、ネットワークごとの DUST フローを扱います。
NFT
- Midnight 上でシールド済みおよび非シールドの NFT を構築します。
- OpenZeppelin NonFungibleToken、ミント、転送、メタデータ、プライバシーパターンについて説明します。
オンチェーンロジックと状態
- pallet-midnight を含む FRAME パレットを備えた Polkadot SDK WASM ランタイムについて説明します。
- 証明の検証、ZSwap とコントラクト操作、Patricia-Merkle 状態コミットメントについて説明します。
P2P ネットワーキング
- Bootstrap、mDNS、Kademlia DHT による検出戦略について説明します。
- Noise + Yamux によるアップグレード、Ping、Request-Response、Notification のサブストリームについて説明します。
React ウォレットコネクター
- DApp Connector API によるウォレット接続機能を備えた React + Vite アプリのひな形を作成します。
window.midnightの列挙、接続/切断 UI、非シールドアドレスの表示について説明します。
RPC インターフェース
- コントラクトと台帳の状態を扱うカスタム midnight_* JSON-RPC メソッドについて説明します。
- Polkadot SDK のデフォルト設定、Partnerchain RPC、バリデーター RPC のセキュリティについて説明します。
セキュリティ
- プライバシー監査チェックリスト、データ漏えいのパターン、コミットメント/ヌリファイアーの設計について説明します。
- Witness の信頼性、フロントランニング耐性、トランザクションのセマンティクスについて説明します。
ストレージ
- Patricia-Merkle トライによる状態コミットメントを備えた ParityDB キー・バリューストアについて説明します。
- 高速なストレージキーに twoxhash を使用し、オンチェーンデータには包含証明を使用します。
テスト
- 静的エラーと動的エラー、コンパイラメッセージの読み方、
--skip-zkによる開発ループについて説明します。 - 6 つのコンポーネント間でのバージョン管理と、一般的なデバッグパターンについて説明します。
トークン転送
- シールド済みおよび非シールドのトークン転送について説明します。
- 残高照会、複数当事者間のフロー、トランザクションのセマンティクスについて説明します。
トランザクション
- Midnight Ledger からの、証明が埋め込まれた未署名トランザクションについて説明します。
- プールの整合性検証 → ランタイムでの証明検証 → 状態のコミットについて説明します。
Midnight を選ぶ理由
- パブリック/プライベート状態、選択的開示、zk-SNARK を備えたデータ保護ブロックチェーンについて説明します。
- その存在理由、仕組み、提供するプライバシー保証について説明します。
ZK と FHE と MPC の比較
- ゼロ知識証明、完全準同型暗号、セキュアなマルチパーティ計算におけるトレードオフについて説明します。
- それぞれがプライバシー DApp に適する場面と、Midnight が Compact 経由で zk-SNARK を使用する理由について説明します。