【问题标题】:NEAR Protocol Rust contracts - what's the difference between near-sdk-rs data structures and std ones?NEAR 协议 Rust 合约——near-sdk-rs 数据结构和 std 有什么区别?
【发布时间】:2021-01-12 20:31:20
【问题描述】:

在 Rust 中,标准库中有许多可用的数据结构。 NEAR 协议在near-api-rs 中有一些优化的数据结构,但主要的区别是什么?

【问题讨论】:

    标签: rust blockchain smartcontracts nearprotocol


    【解决方案1】:

    Evgeny KuzyakovNear protocol engineer)在 Discord 中回答:

    如果你说的是 LookupMap 和 HashMap,那么区别在于 LookupMap 存储在 trie 中,而 HashMap 存储在内存中。

    当调用合约上的方法时,合约会从存储树中读取并反序列化主结构。如果它包含一个 HashMap,那么这个映射的所有记录都将被读取和反序列化。如果它包含一个 LookupMap,那么只有 key_prefix 会被读取和反序列化,所以从 gas 的角度来看它更便宜。但是每次从 LookupMap 访问键/值时,都必须从 trie 中读取和反序列化它。

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 2023-04-08
      • 2021-01-14
      • 2020-09-16
      • 2021-01-19
      • 2022-01-08
      • 2021-08-13
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多