没有验收定义的合约交付等于无限保修
智能合约项目最容易在「代码推了」和「主网安全」之间失去共同语言。智能合约交付验收清单要把范围、测试、审计、密钥仪式、升级权限与监控写成可勾选项。可上线在区块链交付里坚持:探索阶段先定威胁模型与不可升级边界,再谈功能列表。下文给双方共用的完成定义,减少上线后扯皮。下文给出可落地的判断框架、分步清单与常见误区,便于上海及跨境团队在两到四周内推进,并把相关服务能力组合进同一交付节奏。
范围:链、标准、不可谈边界
写清目标链、代币/标准(ERC-20/721…)、是否可升级、是否需暂停、管理员角色。业务宣传语不能替代合约权限矩阵。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。
测试:单元、分叉、不变量
覆盖关键路径与失败路径;主网分叉测外部依赖;不变量测试防经济攻击。覆盖率数字 alone 不够,要场景列表。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。结合可上线(KSX Studio)探索→设计→开发→上线节奏,把该项写成可验收产物:负责人、完成定义、预发验证与回滚策略,避免口头对齐后再次发散。
审计与修复闭环
明确审计范围、已知问题、修复再测证据。时间线含审计窗口,不可压缩成「上线前夜扫一眼」。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。结合可上线(KSX Studio)探索→设计→开发→上线节奏,把该项写成可验收产物:负责人、完成定义、预发验证与回滚策略,避免口头对齐后再次发散。
密钥与多签仪式
部署键、管理员、国库多签人、备份与轮换流程书面化。禁止个人热钱包当生产管理员。演练一次模拟部署。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。结合可上线(KSX Studio)探索→设计→开发→上线节奏,把该项写成可验收产物:负责人、完成定义、预发验证与回滚策略,避免口头对齐后再次发散。
升级与紧急暂停
若可升级:代理模式、时间锁、监控告警。若不可升级:迁移方案与用户沟通模板。暂停权限与解暂停条件公开。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。结合可上线(KSX Studio)探索→设计→开发→上线节奏,把该项写成可验收产物:负责人、完成定义、预发验证与回滚策略,避免口头对齐后再次发散。
前端与合约版本钉扎
ABI 与地址配置进版本控制;区块浏览器核对;禁止前端缓存旧地址。dApp UX 显示合约版本或部署标签。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。结合可上线(KSX Studio)探索→设计→开发→上线节奏,把该项写成可验收产物:负责人、完成定义、预发验证与回滚策略,避免口头对齐后再次发散。
主网后 72 小时值守
监控异常事件、费率、暂停开关演练。准备事件响应联系人。交付验收包含文档、runbook 与知识转移,不只是 repo 权限。结合可上线探索→设计→开发→上线节奏,把该项写入验收与预发检查,避免口头对齐后遗漏。
可执行清单
- 1权限矩阵与威胁模型签字
- 2测试场景列表与分叉结果存档
- 3审计报告与修复再测记录
- 4多签与密钥仪式完成确认
- 5监控、runbook 与 72h 值守排班
核心要点
- 合约交付的完成定义是安全与运维,不只是功能。
- 密钥仪式与升级策略必须在编码前对齐。
- 前端地址钉扎与主网值守属于同一交付。
常见问题
- 小额合约也要审计吗?
- 至少同行复审+完整测试;管理资金或升级权限时强烈建议外部审计。
- 客户要求当天主网?
- 拒绝压缩审计与密钥步骤。可先限流测试网公开或白名单主网。
- 代理商是否托管管理员键?
- 过渡期可共管,最终应移交客户多签。合同写明移交日与责任分界。