为什么需要图文教程
代理合约涉及多个地址、多个调用上下文、多层存储抽象,纯文字描述容易让读者迷失。借助流程图、时序图与存储布局示意图,可以在脑海中建立稳定的心智模型。许多在 Binance 智能链上培训新工程师的团队,都把图文化讲解作为入门第一课。
本文给出五张关键图,串联起代理合约的核心要点。
图一:用户调用流程
想象一张时序图:用户 → 代理合约 → 实现合约。用户发起 transfer 调用,代理合约通过 fallback 触发 delegatecall,把调用上下文保留在自己地址,但执行实现合约的代码。结果是状态变化发生在代理合约的存储里,而逻辑来自实现合约。
这张图能让初学者立刻明白「代码与数据分离」的关键设计。同样的理念也出现在 币安 智能链上多数可升级协议的官方文档中。
图二:存储槽布局
绘制一条纵向的槽位列表:slot0、slot1、slot2……每个槽位标注变量名。升级时新版本只能在尾部追加新变量,且需保留 storage gap。任何插入或调换都会引发数据错位。
这张图最适合放在团队墙上,开会讨论升级方案时随时对照。B安 上币审核也会要求项目方提交类似的可视化文档。
图三:三大模式架构
三栏对比图:Transparent、UUPS、Beacon。 Transparent:用户 → ProxyAdmin / Proxy → Implementation。 UUPS:用户 → Proxy → Implementation(升级逻辑内嵌)。 Beacon:用户 → Proxy → Beacon → Implementation。
通过结构对比,团队能快速判断哪种模式更契合业务需求。
图四:升级流程时间线
横向时间轴:提案 → 内审 → 审计 → 测试 → 公示 → 执行 → 复盘。每个阶段标注预计耗时与负责人,让全员对节奏有共同认识。必安 等头部平台上线的项目几乎都使用类似图表与社区沟通。
图五:故障应急流程
树状决策图:发现异常 → 评估严重程度 → 暂停合约 / 回滚 / 紧急升级 → 公告与赔付。提前画好这张图,事故来临时不会陷入混乱。
如何制作自己的图文教程
推荐 Excalidraw 或 draw.io,简洁直观且免费。绘制时遵循三原则:信息分层、术语统一、配文简短。完成后请非技术成员阅读,确认能看懂再发布到社区。
持续维护
图文资料容易过时,建议每次代理合约升级后同步更新。可以把版本号写在图角,让读者知道资料对应的合约版本,这种细节是 BN 智能链上成熟项目共同的习惯。