在编写智能合约时,重要的是要确保使用的所有数据结构都是确定性的。
具体来说,如果使用 HashMap
或 HashSet
- 是否存在来自 Rust 标准库的可能的非确定性?
最佳答案
由于 Wasm 运行时无法访问非确定性输入,因此整个执行是确定性的。 HashSet
和 HashMap
使用来自可用源的种子,如果 Wasm 编译没有可用源,则执行将始终相同。应该很容易确认。
关于rust - 哪些 Rust 数据结构是非确定性的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62066007/