Aptos Core 的新拉取请求添加了一个数据库分叉实用程序,解决了一个关键的测试难题:需要生产级状态,但不需要实际的生产共识或网络影响。`aptos-debugger aptos-db fork` 工具将现有的 Aptos 数据库复制到隔离的分叉中,并将链 ID、验证者集合、验证者配置、质押池和验证者性能状态替换为新生成的本地验证者。
该工具为每个隔离环境生成新的虚拟创世写入集、路标、每个验证者的数据库检查点、节点配置、身份和分叉清单。这种方法保留了创世后应用程序状态——确保真实的账户和合约数据——同时保持源数据库完全不变。该实现包括全面的安全防护:拒绝主网和保留链 ID、防止源/输出别名、阻止嵌套路径、捕获验证者地址碰撞以及验证验证者配置时间戳。
分叉实用程序的测试跨越多个验证层。单元测试使用 `cargo test` 验证核心分叉逻辑,而集成测试从创世后数据库检查点启动两个实际的 `aptos-node` 进程,观察两个节点在链 ID 42 上提交新的账本版本,并确认通过两个 REST 端点保留了账户状态。PR 中记录了对实际主网衍生检查点的验证仍是后续验收工作。
该工具解决了二进制和智能合约测试的关键痛点:开发者现在可以使用生产级状态拓扑进行工作,无需冒验证者冒充、意外网络连接或对实时验证者集合造成意外影响的风险。隔离分叉方法在完全与源网络隔离的同时,实现了全面的测试场景。
