跳到主要内容

Web3 商城接入参考方案

本文以 Web3 商城作为交易型 DApp 的参考案例,说明支付、履约、退款、结算和贡献成熟如何接入 Topo 链与 POC。

商城只是示例,不是唯一模型。游戏、内容、任务、流动性、供应链或其他 DApp,都可以按自己的业务语义定义成熟贡献事实,再通过可信路径进入 POC。

案例定位

交易型 DApp 通常具备以下特点:

  1. 用户先产生支付、锁定、预订或参与行为。
  2. 业务需要等待履约、确认、仲裁、锁定期或结算完成。
  3. 支付成功不一定代表最终贡献,因为可能发生退款、争议或撤销。
  4. 成熟贡献应来自链上终态或结算事实,而不是前端展示状态或本地积分。

因此,商城接入 POC 的核心原则是:支付不是贡献,履约完成和结算成熟后才形成贡献;商家资金结算和 POC 贡献发放必须解耦。

核心结论

  1. 商城不能把本地订单、前端积分或普通异步事件直接作为 POC 输入。
  2. POC 只应认可链上可信贡献路径产生的 ContributionEvent。
  3. 商城的 POC 贡献应以链上订单终态为基础,优先在确认收货并结算完成后生成可领取贡献。
  4. 支付成功事件适合驱动本地订单支付闭环,但不应直接进入 POC power。
  5. 退款、仲裁和异常处理必须能冻结、回退或修正待成熟贡献。
  6. POC 发放异常不能阻塞商家资金结算。
  7. POC Engine 只消费 POC 合约发出的 ContributionEvent;商城事件消费者只做本地状态同步和对账。

贡献语义

交易型 DApp 可以把业务事实分成四类:

事实示例是否适合直接进入 POC
候选行为下单、支付、锁定库存、创建任务不适合,可作为候选贡献和审计材料
成熟前置确认收货、任务验收、服务完成可作为成熟条件
成熟贡献结算完成、锁定期结束、权益释放适合生成可发放贡献
异常修正退款、仲裁、作弊、撤销用于冻结、扣减或治理修正

商城积分、优惠、会员成长值等本地激励可以继续存在,但不能直接等同于 POC power。进入 POC 的必须是 DApp equity token 的真实发放,或者经过 POC 框架认可的可信贡献路径。

目标架构

支付流程

支付阶段要求:

  1. 钱包签名必须由买家发起。
  2. 后端必须校验交易目标函数和订单参数。
  3. 合约必须重新校验金额、库存、限购和支付资产。
  4. 支付成功只是候选贡献,不进入 POC power。

确认收货、结算和贡献发放

结算阶段要求:

  1. 结算交易只形成成熟贡献事实,不依赖 POC 发放成功。
  2. POC 发放入口必须校验成熟贡献、幂等、pause 和 custody 余额。
  3. POC 异常不能阻塞商家资金结算。
  4. 退款或仲裁发生在结算前时,必须回退或重算待成熟贡献。
  5. 贡献已发放后发生争议,需要通过未来贡献抵扣、治理修正或专门 reversal 机制处理。

退款和异常路径

交易型 DApp 必须把异常路径纳入状态机,而不是把退款和争议当作链下客服备注。

异常处理原则POC 影响
支付后取消链上恢复库存并退回资产不生成成熟贡献
确认收货前退款订单进入退款或仲裁状态候选贡献作废
结算锁定期内争议暂停结算或进入仲裁待成熟贡献冻结
结算完成后争议通过治理、抵扣或 reversal 处理已发放贡献需要可追踪修正
POC 发放失败记录失败并重试或 hold不影响商家资金结算
App 暂停停止新贡献发放已生效 committed power 按治理规则处理

系统职责

系统职责
Web3 前端钱包连接、交易构造、状态展示、贡献状态区分、错误恢复
商城 Backend钱包登录、signedTx 校验、订单草稿、tx 幂等、读 API、异步任务入口
商城 Admin商品、库存、风控、结算、退款、仲裁和异常处理
Move 合约订单、资产、退款、结算、贡献成熟和事件输出
事件消费者回链上读取事实,更新订单、结算、贡献和 POC 状态读模型
POC Engine消费 ContributionEvent,按周期结算 power
POC Writer写回下一周期 staged power,并与 PowerStore 对账

迁移阶段

阶段目标验收
阶段 0:契约清单冻结业务状态机、事件、资产、退款和贡献口径业务、合约、后端和测试口径一致
阶段 1:Topo 合约部署订单、资产、退款和结算基础合约Move 测试覆盖支付、确认、退款和结算
阶段 2:POC 准入注册商城 App、equity token、custody 和权重Registry 状态、token 和价格来源可查
阶段 3:贡献模块上线 contribution_manager成熟贡献、重复发放、pause 和余额不足可测试
阶段 4:读模型和对账建立事件消费者、读模型、搜索和对账链路链上事件可重放,读模型可修复
阶段 5:POC 结算接入 Engine、Writer 和 PowerStoreContributionEvent 到 committed power 可追踪
阶段 6:灰度上线灰度真实订单和贡献发放监控、告警、回滚和 hold 流程演练通过

接入验收

  • 支付、确认收货、退款、结算和贡献发放都有明确状态机。
  • 支付成功不会直接进入 POC power。
  • 成熟贡献来源于链上终态或结算事实。
  • POC 发放和商家资金结算解耦。
  • ContributionEvent 到订单、用户、结算单和 PowerStore 可对账。
  • 退款、仲裁、暂停和治理修正路径已覆盖。
  • 前端能区分业务完成、贡献成熟、贡献发放、staged power 和 committed power。
  • 后端 signedTx 校验覆盖 sender、chain id、合约地址、module、function、参数语义和幂等。

总结

Web3 商城参考案例的核心实现原则是:支付不是贡献,结算成熟后才形成贡献,贡献发放和商家资金结算解耦,POC Engine/Writer 周期性把可信贡献转化为 PowerStore 中的 committed power。

其他交易型 DApp 可以沿用同样思路:先找到不可逆或可治理修正的成熟业务事实,再把它接入 POC 可信贡献路径。