ここは Midnight Academy Phase 3「Capstone — Extend Your Bulletin Board」 にあたる、卒業制作です。 このアプリのいちばんの目標は「最終的に、自分で Midnight DApp を拡張・開発できるようになる」こと。その第一歩がこれです。
何をするの?
Bulletin Board(けいじ板) を土台に、自分で機能を足してみます。 ゼロから作るのではなく、動くものを改造するのがコツ。失敗してもすぐ戻せます。
拡張アイデア(やさしい順)
それぞれ「Compact のどの部品を使うか」も書きました(→ 文法ツアー・ZKの部品箱)。
進めかた(おすすめの手順)
💡 いきなり大きく作らない。「1機能ずつ・動かしながら」が、いちばん早く上達します。
つまずいたら
- コンパイルエラー → 文法ツアー と 詰まりやすいポイント を確認
disclose忘れの警告 → 公開する値はdisclose(...)で囲む- 取引が通らない → 取引の一生 で「どの段で止まったか」を切り分け
- それでも分からない → 公式チュートリアルとフォーラム(外部リンク・別タブで開きます)、そして AI に「このCompactのここを直したい」と相談(このアプリの各ページ右上「Claude/ChatGPTでひらく」も使えます)
開発者として理解すべきこと
- 動くものを小さく改造するのが、DApp 開発のいちばんの近道
- 機能追加=「どの ledger 型を足し、どの circuit を増やし、どこを disclose するか」を決めること
- 契約を変えたら 再コンパイル → API/CLI も追従、の往復をまわす
- ローカル(undeployed)で試し、よければ Preprod へ、という安全な順番
公式Docsではどこ?
- Academy Phase 3 Unit 5.1(外部リンク・別タブで開きます)(Capstone — Extend Your Bulletin Board)
- 土台:Bulletin board tutorial(外部リンク・別タブで開きます) / example-bboard(外部リンク・別タブで開きます)
今日のまとめ
- Capstone=けいじ板を自分で拡張する卒業制作
- いいね・複数投稿・カテゴリ・期限など、1機能ずつ足す
- 契約を変えたら再コンパイル、API/CLI も追従、ローカル→Preprod
今はここだけでOK
「ゼロから作らない。動くけいじ板に、いいねを1個足してみる」——ここから始めればOK。
✍️ 白紙練習
答えを見る前に、いったん自分の頭と手から出してみよう。手で書くと「わかったつもり」がはがれます。
このページの「進めかた(おすすめの手順)」5ステップを、何も見ずに書き出してみよう。
Capstone(卒業制作)でやることを、自分のことばで説明してみよう。なぜ「ゼロから作らない」のがコツ?
Capstone は、動く Bulletin Board(けいじ板) を土台に、自分で機能を足してみる卒業制作です。ゼロから作るのではなく動くものを改造するのがコツで、失敗してもすぐ戻せるから。いきなり大きく作らず「1機能ずつ・動かしながら」進めるのが、いちばん早く上達する近道です。
投稿に「いいね」を数える機能を足すとき、使う Compact の部品はどれ?
Counter(数える箱)を使います。
機能追加とは、どの3つを決めることだと言っている?
「どの ledger 型を足し、どの circuit を増やし、どこを disclose するか」を決めることです。
契約(contract)を変えたあと、どんな往復をまわす必要がある?
再コンパイル → API/CLI も追従、の往復をまわします。契約を変えたら compact compile し直し、増えた circuit に合わせて API/CLI 側も直します。
動作確認は、どんな順番で進めるのが安全?
まずローカル(undeployed)で試し、うまくいったら Preprod へ、という順番です。
disclose 忘れの警告が出たとき、どうすればいい?
公開する値を disclose(...) で囲みます。
📘 もっと正確に(原文準拠コース)
Academy 原文に忠実な詳しい版はこちら:
つぎに読むページ
➡️ お金のしくみをおさらい。NIGHT と DUST ってなに?