rust - 哪些 Rust 数据结构是非确定性的

标签 rust nearprotocol

在编写智能合约时,重要的是要确保使用的所有数据结构都是确定性的。

具体来说,如果使用 HashMapHashSet - 是否存在来自 Rust 标准库的可能的非确定性?

最佳答案

由于 Wasm 运行时无法访问非确定性输入,因此整个执行是确定性的。 HashSetHashMap 使用来自可用源的种子,如果 Wasm 编译没有可用源,则执行将始终相同。应该很容易确认。

关于rust - 哪些 Rust 数据结构是非确定性的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62066007/

相关文章:

rust - 有没有办法创建一个更新了某些字段值的枚举副本?

rust - 如何对嵌套的 `.iter()` 进行错误处理?

rust - 保存文件后, cargo 测试会警告未使用的代码

nearprotocol - 如何将near-cli创建的 key 导入NEAR钱包?

rust - 未处理的拒绝 : ChainErr ("missing field ` proof`")

nearprotocol - 如何查看 NEAR 协议(protocol)中的存储使用情况?

smartcontracts - 为什么像signer_account_id这样的Env变量会导致错误: ProhibitedInView?

json - 如何使用 serde_json 序列化包含 f32 的结构?

rust - 有没有办法修改我在循环中使用变量的方式,以便初始化它们的顺序无关紧要?

nearprotocol - 如何查询余额的历史记录