Skip to main content

フェーズ5:開発環境とチュートリアル

開発環境の作りかた

Midnight DApp を作るために、パソコンへ何を入れるのかをやさしく整理。compactコンパイラ・proof server・Laceウォレット・Node.js の役わりと、つまずきポイント、公式手順への導線。


ここからは「実際に作る」ための準備です。 お料理の前に道具とキッチンをそろえるのと同じ。何を・なぜ入れるのかが分かれば、こわくありません。

⚠️ バージョンや細かいコマンドはよく変わります。正確な最新手順は必ず公式の Installation(外部リンク・別タブで開きます)Support matrix(外部リンク・別タブで開きます) を見てください。 このページは「何のために何を入れるのか」を地図として説明します。

たとえ話:おかしの工場を建てる

Midnight の DApp 開発は、小さな「おかし工場」を建てるのに似ています。

  • レシピを書く言語 → Compact(コンパイラ)
  • 秘密を守る検査室 → proof server(証明をつくる係)
  • お財布 → Lace ウォレット
  • 工場を動かす電気 → Node.js
  • 材料を運ぶトラック → indexer / node(チェーンとつなぐ係)

ぜんぶ役わりがちがいます。順番に見ていきましょう。

何を入れるの?(部品の一覧)

入れるもの なんのため? こども的たとえ
Node.js(v22以上) JavaScript / TypeScript を動かす土台。ビルドやCLIを動かす 工場の電気
パッケージマネージャ 必要な部品(ライブラリ)を取りよせる。npm / pnpm / yarn / bun 部品の取りよせ係
compact(Compact CLI) Compact のレシピを「証明できる回路」にコンパイルする道具 レシピを清書する係
proof server(Docker) 秘密を外に出さずに「正しさの証明」を作る。ポート 6300 秘密の検査室
Docker Desktop proof server などを箱(コンテナ)で動かす 検査室を入れる
Lace ウォレット(Chrome拡張) tNIGHT / tDUST を持ち、取引にサインする あなたのお財布
Google Chrome Lace が Chrome 拡張なので必要 お財布を入れるカバン
VS Code(+ Compact拡張) コードを書くエディタ。色づけや補完が効く レシピを書くノート

💡 node と indexer は自分で入れなくてOKな場合が多い:開発中は、Midnight が用意した接続先(エンドポイント)につなぎます。ローカルで全部動かす「local network(undeployed)」という方法もあります。

開発者の視点:依存はバージョンがズレやすい

ここは大人(開発者)の注意ポイントです。

  • compact というCLI(道具箱の取っ手)と、その中のコンパイラ(toolchain)は、別々にバージョン管理されています。混同しないこと。
  • proof server は Docker イメージのタグ(例:midnightntwrk/proof-server:8.0.3)で動かし、ポートは 6300
  • これらの正しい組み合わせは、公式の Support matrix(外部リンク・別タブで開きます) が正本です。「最新どうし」が必ず噛み合うとは限らないので、表で確認します。

いちばん速い始めかた:雛形づくり

公式には、DApp のひな形を一発で作るコマンドがあります(雰囲気だけ/正確な使い方は公式へ)。

これを使うと「Contract だけ」か「フル DApp か」、テンプレート(hello-world / counter / bboard)を選べます。 中身の組み立てを学びたいときは Counter チュートリアル から手を動かすのがおすすめです。

動いたか確かめる(チェックリスト)

開発者が「環境OK」と判断するための確認ポイントです。

  • compact が呼べる(compact --version が表示される)
  • Docker Desktop が起動している
  • proof server が http://localhost:6300 で動いている
  • Node.js が v22 以上
  • Lace ウォレットに tNIGHT が入っている(faucet でもらう)→ そこから tDUST を生成
  • テスト用ネットワーク名(Preview / Preprod)と、ローカルの undeployed を区別できている

つまずきポイント(先に知っておこう)

詳しくは 開発で詰まりやすいポイント にまとめましたが、代表例だけ:

  • compact: command not found → ターミナルの PATH 設定を読み直す
  • Docker のエラー → Docker Desktop が起動しているか確認
  • ポート 6300 が使用中 → 別のポートに変える
  • faucet で「Invalid address」→ Unshielded(公開)アドレスを使う

開発者として理解すべきこと

  • 「何を・なぜ入れるか」を部品の役わりで言える(コンパイラ/proof server/ウォレット/node・indexer)
  • proof server は手元(ローカル)で動かすのが基本。秘密データを渡す相手なので、信頼できる場所に限る
  • バージョンは Support matrix で噛み合わせを確認する、という習慣

公式Docsではどこ?

今日のまとめ

  • 開発環境=コンパイラ・proof server・ウォレット・Node・(必要なら node/indexer)
  • proof server はポート 6300、Docker で動かす
  • 正確なバージョンと手順は公式(とくに Support matrix)で確認

今はここだけでOK

「Compact を書く道具」「秘密の証明を作る proof server」「お財布の Lace」——この3つの役わりが言えればOK。

📘 もっと正確に(原文準拠コース)

Academy 原文に忠実な詳しい版はこちら:

つぎに読むページ

➡️ 道具がそろったら、いよいよ作る。チュートリアルの歩きかた