NEAR协议Rust合约-Near-SDK-RS数据结构和STD数据结构之间有什么区别?

问题描述

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

解决方法

https://stackoverflow.com/users/12055304/evgeny-kuzyakov用不和谐回答:

如果您谈论的是LookupMap与HashMap,则区别在于LookupMap存储在trie中,而HashMap存储在内存中。

调用合同上的方法时,合同从存储树中读取并反序列化主要结构。如果包含HashMap,则将读取并反序列化此地图的所有记录。如果它包含LookupMap,则只会读取和反序列化key_prefix,因此从gas角度来看它便宜。但是每次您从LookupMap访问键/值时,都必须从Trie中读取并反序列化它。