Midnight Academy の Phase 2「Transaction Lifecycle and Proof Generation」 と Phase 3「The Proof Server & Transaction Flow」 にあたる、いちばん大事な「取引の流れ」です。 DApp の組み立てかた の5部品が、実際にどう動くかを順番に見ます。
たとえ話:宿題を出すまで
カウンターを1ふやす、という取引を例に。
宿題でいうと、①自分で解く → ②採点して合格スタンプ → ③提出用紙をそろえる → ④名前を書く → ⑤先生に出す → ⑥成績表に反映、という感じです。
proof server の役わり(ここが Midnight 独特)
- proof server は「秘密を見せずに、正しさの証明(ZK proof)を作る」係。手元(ローカル)で動かします(ポート 6300)。
- 秘密データを渡す相手なので、信頼できる場所(自分のマシン等)で動かすのが基本。
- ふつうのWeb開発にはない一手間ですが、これが「プライバシー+検証可能」を成り立たせています。
コードで見ると(雰囲気)
Counter の callTx を呼ぶと、①〜⑥が裏で起きます。
providers がそれぞれの段を担当します(→ DApp の組み立てかた):
開発者として理解すべきこと
- 取引は 「手元計算 → 証明 → 手数料合わせ → サイン → 送信 → 反映」 の流れ
- proof server がローカルで証明を作るのが Midnight 独特。秘密はここから外に出さない
callTx.xxx()の一行が、この全段を起動している- 詰まったら、どの段で止まったか(証明? 手数料(DUST)? 送信?)で切り分ける(→ 詰まりやすいポイント)
公式Docsではどこ?
- Academy Phase 2 Unit 3.1(外部リンク・別タブで開きます)(Transaction Lifecycle & Proof Generation)・Phase 3 Unit 2.1(外部リンク・別タブで開きます)(Proof Server & Transaction Flow)
- How Midnight works(外部リンク・別タブで開きます)
- Run the proof server(外部リンク・別タブで開きます)
今日のまとめ
- 取引の一生:計算 → 証明 → 手数料 → サイン → 送信 → 反映
- proof server が秘密を見せずに証明を作る(ローカル・ポート6300)
callTxの一行が全段を起動する
今はここだけでOK
「callTx を呼ぶと、proof server が証明を作り、ウォレットがサインして送る」——この流れが言えればOK。
✍️ 白紙練習
答えを見る前に、いったん自分の頭と手から出してみよう。手で書くと「わかったつもり」がはがれます。
取引の一生を、最初から最後まで自分の言葉で説明してみよう(計算からチェーン反映まで)。
取引は次の順番で進みます。①手元で計算する(秘密はここに留まる)→ ②proof server が「この計算は正しい」というZK証明を作る → ③ウォレットが DUST(手数料)を足してバランスを整える → ④ウォレットの秘密カギでサインする → ⑤署名ずみ取引を node に送る → ⑥確定した新しい状態が indexer に反映され、みんなが読めるようになる。
proof server とは何をする係で、なぜローカルで動かすのが基本なのかを説明してみよう。
proof server は「秘密を見せずに、正しさの証明(ZK proof)を作る」係です。手元(ローカル)で、ポート 6300 で動かします。秘密データを渡す相手なので、信頼できる場所(自分のマシンなど)で動かすのが基本です。これが「プライバシー+検証可能」を成り立たせています。
取引の流れ6段のうち、proof server が担当するのはどの段?
②証明を作る段です。「この計算は正しい」というZK証明を、秘密を見せずに作ります。
手数料(DUST)を足す・サインする・node に送る、を担当する provider は?
walletProvider と midnightProvider です。手数料・サイン・送信を担当します。
公開状態を読む段を担当する provider と、その裏にいるものは?
publicDataProvider です。裏では indexer が公開状態を提供しています。
proof server が動くポート番号は?
6300 です。ローカル(手元)で動かします。
Counter の callTx を呼んで、裏で①〜⑥を起動する一行を書いてみよう。
📘 もっと正確に(原文準拠コース)
Academy 原文に忠実な詳しい版はこちら:
つぎに読むページ
➡️ いよいよ契約の言葉へ。Compactってなに?