create-mn-app 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@ Scaffold a Midnight Network DApp project. One command bootstraps a contract, a l
13
13
  | ---------------- | -------- | ------------------------------------------------------ |
14
14
  | Node.js | 22+ | |
15
15
  | Docker | Compose v2 | Runs the local devnet and proof server |
16
- | Compact compiler | 0.31.0 | Required for `counter` and `bboard`; the CLI offers to install it for you |
16
+ | Compact compiler | 0.31.0 | Required for the remote examples (`battleship`, `bboard`, `leaderboard`); the CLI offers to install it for you |
17
17
 
18
18
  ## Quick Start
19
19
 
@@ -46,8 +46,8 @@ The bundled `hello-world` template runs against three networks. Local devnet is
46
46
  | Network | Source | When to use |
47
47
  | ------------ | ----------------------------------------------------------------- | -------------------------------------------------------- |
48
48
  | `undeployed` | Local devnet from `docker-compose.yml` | Default. Iterate fast, no funding, no extension needed. |
49
- | `preview` | Public preview testnet ([faucet](https://faucet.preview.midnight.network/)) | Test against shared infra before a release. |
50
- | `preprod` | Public preprod testnet ([faucet](https://faucet.preprod.midnight.network/)) | Validate against the network closest to mainnet. |
49
+ | `preview` | Public preview testnet ([faucet](https://midnight-tmnight-preview.nethermind.dev/)) | Test against shared infra before a release. |
50
+ | `preprod` | Public preprod testnet ([faucet](https://midnight-tmnight-preprod.nethermind.dev/)) | Validate against the network closest to mainnet. |
51
51
 
52
52
  Switch network on a single command:
53
53
 
@@ -73,7 +73,7 @@ Pick a template interactively, or pass `--template`:
73
73
 
74
74
  ```bash
75
75
  npx create-mn-app@latest my-app # interactive picker
76
- npx create-mn-app@latest my-app --template counter # skip the prompts
76
+ npx create-mn-app@latest my-app --template bboard # skip the prompts
77
77
  npx create-mn-app@latest my-app --list # show every template
78
78
  ```
79
79
 
@@ -84,13 +84,14 @@ npx create-mn-app@latest my-app --list # show every template
84
84
  | Template | What it is |
85
85
  | ----------------------- | ----------------------------------------------------------------------- |
86
86
  | `hello-world` (default) | Bundled. Local devnet + message-storage contract. The fastest path to a working deploy. |
87
+ | `battleship` | State-machine game contract with private board state, verified end-to-end via local-devnet tests. Cloned from [`example-battleship`](https://github.com/midnightntwrk/example-battleship). |
87
88
 
88
89
  ### Full DApp
89
90
 
90
- | Template | What it is |
91
- | --------- | --------------------------------------------------------------------------------------------------------- |
92
- | `counter` | Increment/decrement contract with ZK proofs. Cloned from [`example-counter`](https://github.com/midnightntwrk/example-counter). |
93
- | `bboard` | Multi-user bulletin board demonstrating privacy patterns. Cloned from [`example-bboard`](https://github.com/midnightntwrk/example-bboard). |
91
+ | Template | What it is |
92
+ | ------------------- | --------------------------------------------------------------------------------------------------------- |
93
+ | `bboard` (default) | Multi-user bulletin board demonstrating privacy patterns. The go-to DApp example. Cloned from [`example-bboard`](https://github.com/midnightntwrk/example-bboard). |
94
+ | `leaderboard` | Privacy-preserving arcade leaderboard with a React + Lace browser DApp and in-browser ZK proving. Cloned from [`midnight-leaderboard`](https://github.com/midnightntwrk/midnight-leaderboard). |
94
95
 
95
96
  The DApp templates clone an upstream example and configure it for the pinned compiler. They follow the upstream project's setup flow — see the cloned repo's README after scaffolding.
96
97
 
@@ -104,7 +105,7 @@ npx create-mn-app@latest [project-directory] [options]
104
105
 
105
106
  | Option | Description |
106
107
  | ----------------------------------------------- | ------------------------------------------------- |
107
- | `-t, --template <name>` | `hello-world`, `counter`, `bboard` |
108
+ | `-t, --template <name>` | `hello-world`, `battleship`, `bboard`, `leaderboard` |
108
109
  | `--list` | List all templates and exit |
109
110
  | `--from <owner/repo>` | Scaffold from any GitHub repository |
110
111
  | `-y, --yes` | Accept defaults; non-interactive |
@@ -126,8 +127,8 @@ Issues and pull requests welcome at [github.com/midnightntwrk/create-mn-app](htt
126
127
 
127
128
  - [Midnight Docs](https://docs.midnight.network)
128
129
  - [Discord](https://discord.com/invite/midnightnetwork)
129
- - [Preview Faucet](https://faucet.preview.midnight.network/)
130
- - [Preprod Faucet](https://faucet.preprod.midnight.network/)
130
+ - [Preview Faucet](https://midnight-tmnight-preview.nethermind.dev/)
131
+ - [Preprod Faucet](https://midnight-tmnight-preprod.nethermind.dev/)
131
132
 
132
133
  ## License
133
134
 
package/dist/cli.js CHANGED
@@ -69,7 +69,7 @@ program
69
69
  .description("Create a new Midnight Network application")
70
70
  .version(pkg.version)
71
71
  .argument("[project-directory]", "Directory name for your project")
72
- .option("-t, --template <name>", "Template to use (hello-world, counter, bboard, dex, midnight-kitties)")
72
+ .option("-t, --template <name>", "Template to use (hello-world, battleship, bboard, leaderboard, dex, midnight-kitties)")
73
73
  .option("--use-npm", "Use npm explicitly")
74
74
  .option("--use-yarn", "Use yarn explicitly")
75
75
  .option("--use-pnpm", "Use pnpm explicitly")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class WalletGenerator {
2
+ generate(projectPath: string): Promise<string>;
3
+ }
4
+ //# sourceMappingURL=wallet-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-generator.d.ts","sourceRoot":"","sources":["../../src/installers/wallet-generator.ts"],"names":[],"mappings":"AAmBA,qBAAa,eAAe;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwDrD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ // This file is part of create-mn-app.
3
+ // Copyright (C) 2025 Midnight Foundation
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // You may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // https://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.WalletGenerator = void 0;
21
+ const path_1 = __importDefault(require("path"));
22
+ const fs_extra_1 = __importDefault(require("fs-extra"));
23
+ const crypto_1 = __importDefault(require("crypto"));
24
+ class WalletGenerator {
25
+ async generate(projectPath) {
26
+ // Generate 32 random bytes and convert to hex string
27
+ const bytes = crypto_1.default.randomBytes(32);
28
+ const walletSeed = bytes.toString("hex");
29
+ // Create .env file
30
+ const envPath = path_1.default.join(projectPath, ".env");
31
+ const envContent = `# Midnight Network Configuration
32
+ # Generated on ${new Date().toISOString()}
33
+
34
+ # Network Configuration
35
+ MIDNIGHT_NETWORK=preprod
36
+ PROOF_SERVER_URL=http://127.0.0.1:6300
37
+
38
+ # Wallet Configuration (KEEP PRIVATE!)
39
+ WALLET_SEED=${walletSeed}
40
+
41
+ # Contract Configuration
42
+ CONTRACT_NAME=hello-world
43
+
44
+ # Development Settings
45
+ DEBUG_LEVEL=info
46
+ AUTO_START_PROOF_SERVER=true
47
+
48
+ # Security Warning:
49
+ # Keep your wallet seed private and secure!
50
+ # Never commit this file to version control.
51
+ # Add .env to your .gitignore file.
52
+ `;
53
+ await fs_extra_1.default.writeFile(envPath, envContent);
54
+ // Also create .env.example for reference
55
+ const envExamplePath = path_1.default.join(projectPath, ".env.example");
56
+ const envExampleContent = `# Midnight Network Configuration
57
+ # Copy this file to .env and fill in your values
58
+
59
+ # Network Configuration
60
+ MIDNIGHT_NETWORK=preprod
61
+ PROOF_SERVER_URL=http://127.0.0.1:6300
62
+
63
+ # Wallet Configuration (KEEP PRIVATE!)
64
+ WALLET_SEED=your_64_character_wallet_seed_here
65
+
66
+ # Contract Configuration
67
+ CONTRACT_NAME=hello-world
68
+
69
+ # Development Settings
70
+ DEBUG_LEVEL=info
71
+ AUTO_START_PROOF_SERVER=true
72
+ `;
73
+ await fs_extra_1.default.writeFile(envExamplePath, envExampleContent);
74
+ return walletSeed;
75
+ }
76
+ }
77
+ exports.WalletGenerator = WalletGenerator;
78
+ //# sourceMappingURL=wallet-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-generator.js","sourceRoot":"","sources":["../../src/installers/wallet-generator.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,yCAAyC;AACzC,sCAAsC;AACtC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;;;;AAEjC,gDAAwB;AACxB,wDAA0B;AAC1B,oDAA4B;AAE5B,MAAa,eAAe;IAC1B,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,qDAAqD;QACrD,MAAM,KAAK,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzC,mBAAmB;QACnB,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG;iBACN,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;cAO3B,UAAU;;;;;;;;;;;;;CAavB,CAAC;QAEE,MAAM,kBAAE,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAExC,yCAAyC;QACzC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;QAEE,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAEtD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAzDD,0CAyDC"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":""}
package/dist/test.js ADDED
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ // This file is part of create-mn-app.
3
+ // Copyright (C) 2025 Midnight Foundation
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // You may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // https://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ const fs_extra_1 = __importDefault(require("fs-extra"));
21
+ const path_1 = __importDefault(require("path"));
22
+ const create_app_1 = require("./create-app");
23
+ async function testCreateApp() {
24
+ console.log("🧪 Testing create-mn-app...\n");
25
+ const testDir = path_1.default.join(process.cwd(), "test-app");
26
+ // Clean up any existing test
27
+ if (fs_extra_1.default.existsSync(testDir)) {
28
+ await fs_extra_1.default.remove(testDir);
29
+ }
30
+ try {
31
+ await (0, create_app_1.createApp)("test-app", {
32
+ template: "hello-world",
33
+ useNpm: true,
34
+ skipInstall: false,
35
+ skipGit: true,
36
+ verbose: true,
37
+ });
38
+ console.log("\n✅ Test completed successfully!");
39
+ // Verify structure
40
+ const requiredFiles = [
41
+ "package.json",
42
+ "tsconfig.json",
43
+ ".gitignore",
44
+ "README.md",
45
+ "docker-compose.yml",
46
+ "contracts/hello-world.compact",
47
+ "src/deploy.ts",
48
+ "src/cli.ts",
49
+ "src/check-balance.ts",
50
+ ];
51
+ for (const file of requiredFiles) {
52
+ const filePath = path_1.default.join(testDir, file);
53
+ if (!fs_extra_1.default.existsSync(filePath)) {
54
+ throw new Error(`Missing file: ${file}`);
55
+ }
56
+ }
57
+ console.log("✅ All required files present");
58
+ }
59
+ catch (error) {
60
+ console.error("❌ Test failed:", error);
61
+ process.exit(1);
62
+ }
63
+ }
64
+ testCreateApp();
65
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,yCAAyC;AACzC,sCAAsC;AACtC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;;;AAEjC,wDAA0B;AAC1B,gDAAwB;AACxB,6CAAyC;AAEzC,KAAK,UAAU,aAAa;IAC1B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAErD,6BAA6B;IAC7B,IAAI,kBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,kBAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAA,sBAAS,EAAC,UAAU,EAAE;YAC1B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEhD,mBAAmB;QACnB,MAAM,aAAa,GAAG;YACpB,cAAc;YACd,eAAe;YACf,YAAY;YACZ,WAAW;YACX,oBAAoB;YACpB,+BAA+B;YAC/B,eAAe;YACf,YAAY;YACZ,sBAAsB;SACvB,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAiBD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAiI/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,gBAAgB,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAE7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,CAE3E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA4CpC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAiBD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAgL/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,gBAAgB,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAE7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,CAE3E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA4CpC"}
@@ -51,19 +51,20 @@ exports.templates = [
51
51
  category: "contract",
52
52
  },
53
53
  {
54
- name: "counter",
55
- display: "Counter DApp",
56
- description: "Increment/decrement app demonstrating state management",
54
+ name: "battleship",
55
+ display: "Battleship",
56
+ description: "State-machine game contract with private board state, verified via local devnet tests",
57
57
  available: true,
58
58
  type: "remote",
59
- category: "dapp",
60
- repo: "midnightntwrk/example-counter",
59
+ category: "contract",
60
+ repo: "midnightntwrk/example-battleship",
61
61
  nodeVersion: 22,
62
62
  requiresCompactCompiler: true,
63
63
  compactVersion: "0.31.0",
64
64
  projectStructure: [
65
- "contract/ smart contract (compact)",
66
- "counter-cli/ cli interface",
65
+ "contract/ smart contract (compact) + witnesses",
66
+ "src/ midnight-js integration and test suite",
67
+ "scripts/ local devnet helpers",
67
68
  ],
68
69
  setupSteps: [
69
70
  {
@@ -71,26 +72,23 @@ exports.templates = [
71
72
  commands: [
72
73
  "cd {{projectName}}",
73
74
  "{{installCmd}}",
74
- "cd contract && {{runCmd}} compact && {{runCmd}} build",
75
- "cd ../counter-cli && {{runCmd}} build",
75
+ "{{runCmd}} compile",
76
76
  ],
77
77
  note: "downloads ~500MB zk parameters on first run",
78
78
  },
79
79
  {
80
- title: "Proof Server",
81
- commands: [
82
- "docker run -d -p 6300:6300 -e PORT=6300 midnightntwrk/proof-server:8.0.3",
83
- ],
84
- note: "runs in background",
80
+ title: "Start Local Devnet",
81
+ commands: ["{{runCmd}} env:up"],
82
+ note: "starts node, indexer, and proof server via Docker (requires Docker running)",
85
83
  },
86
84
  {
87
- title: "Run Application",
88
- commands: ["cd counter-cli && {{runCmd}} start"],
85
+ title: "Run Tests",
86
+ commands: ["{{runCmd}} test:local"],
87
+ note: "deploys the contract and plays a full game programmatically\ntakes a few minutes on first run",
89
88
  },
90
89
  {
91
- title: "Important",
92
- commands: [],
93
- note: "create wallet and fund from faucet\nPreprod faucet: https://faucet.preprod.midnight.network/\nfunding takes 2-3 minutes\nsee README.md for detailed guide",
90
+ title: "Stop Local Devnet",
91
+ commands: ["{{runCmd}} env:down"],
94
92
  },
95
93
  ],
96
94
  },
@@ -144,7 +142,54 @@ exports.templates = [
144
142
  {
145
143
  title: "Important",
146
144
  commands: [],
147
- note: "create wallet and fund from faucet\nPreprod faucet: https://faucet.preprod.midnight.network/\nfunding takes 2-3 minutes\nsee README.md for detailed guide",
145
+ note: "create wallet and fund from faucet\nPreprod faucet: https://midnight-tmnight-preprod.nethermind.dev/\nfunding takes 2-3 minutes\nsee README.md for detailed guide",
146
+ },
147
+ ],
148
+ },
149
+ {
150
+ name: "leaderboard",
151
+ display: "Arcade Leaderboard",
152
+ description: "Privacy-preserving leaderboard with a React + Lace browser DApp and in-browser ZK proving",
153
+ available: true,
154
+ type: "remote",
155
+ category: "dapp",
156
+ repo: "midnightntwrk/midnight-leaderboard",
157
+ nodeVersion: 22,
158
+ requiresCompactCompiler: true,
159
+ compactVersion: "0.31.0",
160
+ projectStructure: [
161
+ "contract/ smart contract (compact) + witnesses",
162
+ "api/ shared business logic",
163
+ "leaderboard-ui/ react + vite frontend",
164
+ "proof-server/ production proof server (railway)",
165
+ ],
166
+ setupSteps: [
167
+ {
168
+ title: "Build",
169
+ commands: [
170
+ "cd {{projectName}}",
171
+ "{{installCmd}}",
172
+ "{{runCmd}} compile",
173
+ "{{runCmd}} build",
174
+ ],
175
+ note: "npm workspaces (contract, api, leaderboard-ui)\ndownloads ~500MB zk parameters on first run",
176
+ },
177
+ {
178
+ title: "Proof Server",
179
+ commands: [
180
+ "docker run -d -p 6300:6300 midnightntwrk/proof-server:8.0.3 -- midnight-proof-server --network preprod",
181
+ ],
182
+ note: "runs in background",
183
+ },
184
+ {
185
+ title: "Run Web UI",
186
+ commands: ["cd leaderboard-ui && {{runCmd}} dev"],
187
+ note: "open http://localhost:3000 in Chrome with the Lace wallet extension",
188
+ },
189
+ {
190
+ title: "Important",
191
+ commands: [],
192
+ note: "create wallet and fund from faucet\nPreprod faucet: https://midnight-tmnight-preprod.nethermind.dev/\nfunding takes 2-3 minutes\nsee README.md for detailed guide",
148
193
  },
149
194
  ],
150
195
  },
@@ -161,12 +206,12 @@ exports.templates = [
161
206
  {
162
207
  name: "midnight-kitties",
163
208
  display: "Midnight Kitties",
164
- description: "Full stack DApp using NFT smart contract library (Crypto Kitties on Midnight)",
209
+ description: "Full stack CryptoKitties NFT DApp (breeding + marketplace) using an external NFT module pending upgrade to the current Midnight stack",
165
210
  available: false,
166
211
  comingSoon: true,
167
212
  type: "remote",
168
213
  category: "dapp",
169
- repo: "midnightntwrk/midnight-kitties",
214
+ repo: "midnightntwrk/example-kitties",
170
215
  },
171
216
  ];
172
217
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mn-app",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Create Midnight Network applications with zero configuration",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -53,8 +53,8 @@ This DApp supports three networks:
53
53
  | Network | When to use | Default? |
54
54
  |---|---|---|
55
55
  | `undeployed` | Local devnet bundled in `docker-compose.yml`. Genesis seed is hardcoded; no funding needed. | yes |
56
- | `preview` | Public preview testnet. Faucet at `https://faucet.preview.midnight.network`. | |
57
- | `preprod` | Public preprod testnet. Faucet at `https://faucet.preprod.midnight.network`. | |
56
+ | `preview` | Public preview testnet. Faucet at `https://midnight-tmnight-preview.nethermind.dev`. | |
57
+ | `preprod` | Public preprod testnet. Faucet at `https://midnight-tmnight-preprod.nethermind.dev`. | |
58
58
 
59
59
  The active network is **sticky**: whichever network you last interacted
60
60
  with stays active until you switch. Any command run with `--network <name>`
@@ -53,7 +53,7 @@ export const NETWORK_CONFIGS: Record<NetworkId, NetworkConfig> = {
53
53
  indexerWS: 'wss://indexer.preview.midnight.network/api/v4/graphql/ws',
54
54
  node: 'https://rpc.preview.midnight.network',
55
55
  proofServer: 'http://127.0.0.1:6300',
56
- faucet: 'https://faucet.preview.midnight.network',
56
+ faucet: 'https://midnight-tmnight-preview.nethermind.dev',
57
57
  composeServices: ['proof-server'],
58
58
  },
59
59
  preprod: {
@@ -62,7 +62,7 @@ export const NETWORK_CONFIGS: Record<NetworkId, NetworkConfig> = {
62
62
  indexerWS: 'wss://indexer.preprod.midnight.network/api/v4/graphql/ws',
63
63
  node: 'https://rpc.preprod.midnight.network',
64
64
  proofServer: 'http://127.0.0.1:6300',
65
- faucet: 'https://faucet.preprod.midnight.network',
65
+ faucet: 'https://midnight-tmnight-preprod.nethermind.dev',
66
66
  composeServices: ['proof-server'],
67
67
  },
68
68
  };