如何在 Solana 中实现 Solidity 的映射?

发布于 2025-01-12 02:37:09 字数 158 浏览 0 评论 0原文

如何在Solana中实现Solidity的映射功能? 我需要的是一张具有任意数量条目的地图(它会不断增长)。

那么如何计算租金减免以及如何实际操作呢? 有可能吗?

我只需要 1 个帐户,因此程序中需要 1 个全局哈希图。

我会将键存储为整数,将值存储为字符串。

How to achieve the functionality of Solidity's mapping in Solana?
What I need is a map with an arbitrary number of entries (it'll be evergrowing).

So how to calculate the rent exemption and how to actually do this?
Is it even possible?

I just need 1 account, so 1 global hashmap in a program.

I would be storing keys as integers and values as strings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

自我难过 2025-01-19 02:37:10

在 solana 中,更常见的是使用 PDA 来实现此目的,将密钥编码在种子内并使用帐户数据来存储值。

in solana it's more common to use PDAs for this purpose, encode the key inside the seed and use the account data for storing the value.

戏舞 2025-01-19 02:37:10

在 Solana 中,您可以使用基于帐户的存储模型和 PDA(程序派生地址)来创建全局哈希图。每个键值对都可以存储在一个唯一的帐户中,密钥作为 PDA 种子的一部分。要计算租金豁免,请根据序列化数据大小使用 Solana 的 get_minimum_balance_for_rent_exemption 函数。对于单个全局哈希图,通过程序逻辑管理条目,使用 borsh 等库有效地序列化/反序列化键和值。

In Solana, you can use the account-based storage model with PDAs (Program Derived Addresses) to create a global hashmap. Each key-value pair can be stored in a unique account, with the key serving as part of the PDA seed. To calculate rent exemption, use Solana's get_minimum_balance_for_rent_exemption function based on the serialized data size. For a single global hashmap, manage entries via program logic, serializing/deserializing the keys and values efficiently with libraries like borsh.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文