SuperAPI AI 工具集

example-counter

编程与开发

查看项目

更新于 10-15 12:39

技能介绍

该技能用于生成完整的、可运行的 Midnight Network 计数器 DApp,对应官方参考实现 midnightntwrk/example-counter。资料标明其代码与官方仓库 v2.1.1 一致。

用途 用于从零生成一个完整的 Midnight Network 计数器去中心化应用,覆盖从智能合约、前端交互 CLI 到测试与部署配置的全套文件。

主要能力 生成的内容包括:Compact 智能合约(counter.compact)、TypeScript 源码、各网络入口文件(preprod、preview、standalone)、Docker compose 文件(compose.yml、proof-server.yml、standalone.yml 等)、测试基础设施(vitest 配置与测试文件)以及全部配套配置(tsconfig、eslint、prettier 等)。CLI 具备钱包(wallet)、部署(deploy)、加入(join)、递增(increment)等交互能力。

项目结构 资料给出的目录布局根为 my-dapp/,包含根 package.json、compose.yml,contract/ 工作区(含 counter.compact、index.ts、witnesses.ts、managed/ 编译输出及 test/),以及 counter-cli/ 工作区(含 cli.ts、api.ts、config.ts、common-types.ts、logger-utils.ts、各网络入口文件与测试目录)。

使用方式 前置条件:Node.js 22.15+、Yarn 1.x(classic)、Docker,以及安装 Compact 编译器。资料给出安装命令: curl --proto '=https' --tlsv1.2 -sSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh source $HOME/.local/bin/env compact update 0.30.0 compact compile --version

合约编译命令(在 contract/ 目录下):cd contract && npm run compact。预期输出为编译 1 个 circuit:circuit "increment" (k=10, rows=29)。

根脚本包括:test、test:local、env:up、env:down、validate 等。

网络配置 资料定义了三类配置类,均使用 indexer API v3(/api/v3/graphql),并特别注明不要改为 v4:

  • StandaloneConfig:本地,setNetworkId('undeployed'),indexer 为 http://127.0.0.1:8088/api/v3/graphql,node 为 http://127.0.0.1:9944,proofServer 为 http://127.0.0.1:6300。
  • PreviewConfig:setNetworkId('preview'),indexer 为 https://indexer.preview.midnight.network/api/v3/graphql,node 为 https://rpc.preview.midnight.network。
  • PreprodConfig:setNetworkId('preprod'),indexer 为 https://indexer.preprod.midnight.network/api/v3/graphql,node 为 https://rpc.preprod.midnight.network。

API 能力 api.ts 涵盖钱包创建(wallet creation)、密钥派生(key derivation)、合约部署/加入(deploy/join)、increment、交易签名相关处理以及 DUST 管理。

版本注意事项 资料列出的包版本为 2026 年 5 月的快照。资料明确要求:在锁定版本前,应从支持矩阵(support matrix)解析当前经过测试的版本集合,并明确不要安装 @latest。

主要参考资料 资料列出官方参考仓库 github.com/midnightntwrk/example-counter、官方部署指南 docs.midnight.network/guides/deploy-mn-app、官方交互指南 docs.midnight.network/guides/interact-with-mn-app,以及权威版本兼容矩阵 docs.midnight.network/relnotes/support-matrix。

适用场景 适用于需要在 Midnight Network 上搭建、部署并交互计数器示例 DApp 的开发者,可作为新 Midnight DApp 的起步模板。

限制 资料未提供收费、价格、平台支持范围或性能效果等信息;除上述版本快照与前置条件外,其余运行时限制暂未提供。资料特别强调版本兼容性须以官方支持矩阵为准,不应使用 @latest。