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。
📘 もっと正確に(原文準拠コース)
Academy 原文に忠実な詳しい版はこちら:
つぎに読むページ
➡️ いよいよ契約の言葉へ。Compactってなに?