03 / CHAIN LAB
先在模拟中,
理解每一笔操作。
两个测试账户,一个资金池合约,
一张操作网页,以及会自动调用合约的 Python 程序。
这项实验在做什么
使用 Mac 上的 Anvil 单节点开发链和 Solidity 合约,练习存入、提取、余额查询、权限检查与交易记录查看。账户和资产都是模拟的,不涉及真实资金。
不只验证成功,也验证失败
- 账户只能提取属于自己的余额。
- 只有所有者可以暂停相关操作。
- 同一个请求重复提交时,不应再次产生相同资金动作。
- 连接失败或响应丢失时,Python 程序按照限定次数重试。
本地项目记录了 11 项测试通过,包括重复请求、权限、异常接收与重入相关测试。它仍是学习原型,测试通过不代表生产合约已完成安全审计。
开发链并不是公共链
当前实验只在本机运行,重启后链上状态会重置。本站没有连接其交易接口,也不会向访问者索取钱包或签名。
后面可以探索什么
先保存复现实验所需的代码与测试记录,再选择公共测试链验证,或使用真正的多节点配置实验私有网络。这两步都还没有实施。
阅读:为什么先测试失败 →