
Rust 智能合约 #6:用 ink! 把存储收纳好(Storage Patterns)
别再把合约状态堆成一团乱麻了。用 ink! 里的几种经典存储模式(单值、Mapping、一对多/多对多、懒加载配置),像整理衣柜一样把合约数据分层收纳,顺带避开几类高危坑。
共 5 篇

别再把合约状态堆成一团乱麻了。用 ink! 里的几种经典存储模式(单值、Mapping、一对多/多对多、懒加载配置),像整理衣柜一样把合约数据分层收纳,顺带避开几类高危坑。
用厨房门禁的类比,把 env().caller()、only_owner、Result 错误、角色映射一次讲透,新手也能照抄跑通的 ink! 访问控制实战。

用最小可运行示例带你在 Rust + ink! 中写出靠谱的合约测试:从 #[ink::test] 的本地单元测试,到如何迈向 e2e。涵盖环境准备、完整代码、常见坑与修复。

新手也能看懂的 ink! 实战:用事件做可观测性、用 Result<T, E> 接住失败,避免 panic 带来的不透明回滚。附最小可运行代码与测试断言,让你把合约稳定上线。
面向中国区新手的 Rust 智能合约系列第 1 篇,用 ink! 带你完成环境安装、最小计数器合约与部署调试流程。