SuperAPI AI 工具集

example-private-reserve-auction-dapp

通用与其它

查看项目

更新于 10-15 23:44

技能介绍

用途:这是一个在 Midnight Network 上实现隐私储备价拍卖的可运行模板。卖家在链上隐藏储备价,竞拍者以公开金额、私密身份出价,中标者通过非屏蔽 NIGHT 支付领取物品。

主要能力:合约 private-reserve-auction.compact 无 witness,用 circuit 私密 _secret 经 getDappPublicKey 校验调用者;储备价用 persistentCommit(price, secret) 承诺,之后由卖家 revealPrice 揭示;出价金额公开但身份为哈希;出价可覆盖(Map<Bytes<32>, Uint<32>>);bidCount == maxBids 时自动关闭;claimItem 调用 receiveUnshielded 后写入 winnerClaimed,claimProceeds 向卖家 UserAddress 发送资金。

使用方式:安装 1AM 钱包后运行 npm install && npm run compact && npm run sync:assets && npm run dev。合约用 npm run compact 编译,资产经 scripts/sync-zk-assets.mjs 同步到 public/zk/private-reserve-auction/。部署用 createUnprovenDeployTx + submitTxAsync(不用 deployContract());indexerPublicDataProvider 需包装修补后的 queryContractState。UI 接受 NIGHT 并转换为 Stars(×1,000,000)。

适用场景:需要隐藏储备价、公开竞价但保护竞拍者身份的链上拍卖演示与开发。

限制:网络硬编码为 Preview;储备价为 Uint<32>(Stars),非屏蔽操作用 Uint<128>;卖家/竞拍者 _secret 存于 localStorage,丢失即失去该角色授权;disclose() 仅为开发者断言,不执行披露本身。其余细节资料未提供。