Builder Guide

应用发布与部署

发布新应用意味着部署新 logic、通过全局门控,并由用户自行启用。

2 个章节release-and-deployment
01

应用实现要求

  • 为所有持久状态使用唯一 ERC-7201 命名空间。
  • 假设通过 delegatecall 执行:address(this) 是钱包,存储与余额属于钱包。
  • 需要 owner 权限的操作使用 only-self 或 ERC-1271 验证,不能信任任意 msg.sender。
  • 不要重复实现 app allowlist、账户签名或长期 Token allowance 系统。
  • 对外部调用、资产转移、重放、过期与重入建立明确约束。
02

上线流程

步骤 1

测试

在 Foundry 中覆盖真实 Runtime delegatecall、资产 Pull、签名和失败路径。

步骤 2

确定性部署

使用 Safe singleton factory + CREATE2 的统一部署脚本,保持多链同地址。

步骤 3

Registry 允许

owner 调用 setAppStatus(logic, true)。启用时 Registry 会验证合约代码存在。

步骤 4

同步元数据

更新 packages/deployments、ABI、前端 ENV_CONFIG 与文档。

步骤 5

下线旧版

需要时对旧 logic 调用 setAppStatus(oldLogic, false)。用户必须自行启用新地址。