跳转到主要内容
RPC 方法允许您计算某个特定数据大小的账户成为免租金所需的最低 lamport 余额。 在 Solana 中,账户必须保持最低余额以覆盖随时间推移的存储成本,这一概念称为租金。持有相当于两年租金支付余额的账户被视为“免租金”,其余额不会因租金而减少。

常见用例

  • 账户创建: 在创建新账户(例如,用于新代币账户、程序派生地址或自定义数据存储)之前,使用此方法确定所需的 lamports 以使其从一开始就免租金。这可以防止账户因余额过低而被垃圾回收。
  • 动态账户大小调整: 如果您的应用程序处理的数据大小可能增长的账户,您可以使用此方法定期检查是否需要额外的 lamports 以保持免租金状态。
  • 成本估算: 估算部署程序或创建各种大小数据账户的 SOL 成本。
  • 钱包和 SDK 集成: 钱包和 SDK 使用此方法确保它们适当地为新账户提供资金。

请求参数

  1. 长度(必填项):账户数据的字节长度。这是决定免租金最低额度的主要因素。
    • 例如:标准 SPL Token 账户。
  2. 承诺级别(可选项):指定查询的承诺级别。如果省略,则使用 RPC 节点的默认承诺。
    • 字段:
      • 承诺级别(字符串):例如,或。

响应结构

JSON-RPC 响应的字段将是一个无符号的 64 位整数,表示具有指定长度的数据的账户成为免租金所需的最小 lamports 数量。

示例

1. 获取标准代币账户的租金豁免(165 字节)

此示例查询典型 SPL 代币账户(数据大小为 165 字节)所需的最低余额,以免租金。
代码

2. 获取零字节账户的租金豁免

这显示了没有数据的账户的基本租金豁免,通常是任何账户的绝对最低限度。
代码

开发者提示

  • **租金随数据大小变化:**账户数据越大,免租金的最低额度就越高。
  • **网络参数:**租金的基础成本(lamports 每字节年)是一个网络参数,理论上可以通过集群投票更改,但这种情况很少见。该方法将根据集群的状态始终返回当前值。
  • **Lamports vs. SOL:**响应以 lamports 计。请记住,1 SOL = 1,000,000,000 lamports。
  • **延续的重要性:**确保账户免租金对于 Solana 区块链上数据的长期持久性至关重要。
本指南帮助您了解和使用getMinimumBalanceForRentExemption RPC 方法来有效管理您的 Solana 应用程序中的账户租金。