如何计算 Solana程序的租金
将数据存储在Solana帐户中并不是免费的。 本文将介绍Solana 租金的概念以及如何计算Solana链上程序的租金。
一键发币: SOL | BNB | ETH | BASE | Blast | ARB | OP | POLYGON | AVAX | FTM | OK
Solana 区块链上的程序执行从交易开始。 区块链由计算机系统网络组成,该网络在整个网络上复制和分发交易的数字分类账。 链上的每个区块都包含许多交易,每个参与者的分类账都会收到区块链上发生的每笔新交易的副本。
将所有这些数据存储在单独的帐户中并不是免费的,并且会产生一些费用。 在本文中,我们将指导你了解 Solana 租金的概念以及如何计算租金。
1、Solana 的租金是多少?
租金是每个 Solana 账户在区块链上存储数据所支付的费用,以 Lamports(用于小额支付的 SOL 的最小单位)计价。 租金是根据帐户存储的大小计算的。 租金越高,存储的数据量就越多。
由于 Solana 节点集群必须主动维护这些数据,因此需要基于时间和空间的费用来保持账户及其数据在区块链上的活动。 所有 Solana 账户必须保持足够高的 Lamport 余额,才有资格获得租金豁免并留在 Solana 区块链上。 发现包含少量 Lamport 的帐户将被垃圾收集器从网络中删除。
2、租金什么时候收取?
租金通常在每个时期结束时收取。 纪元是领先验证者仍然能够生成交易块的时间段。 Solana Explorer 包含最近和之前时期的数据。 当交易引用账户时,也会支付租金。
在每个时段结束时,帐户收取的一定比例的租金将被销毁,其余部分将支付给投票帐户。 如果帐户中没有足够的钱来支付租金,该帐户将被取消分配并删除数据。 同样重要的是要记住,全新的帐户必须是免租金的。
租金也非常重要,因为网络上的验证器必须在内存中保留此状态的工作副本; 网络针对这种资源消耗收取基于时间和空间的费用。 这是因为 Solana 上的帐户可能具有与帐户余额 ( Account::lamports
) 不同的所有者控制状态 ( Account::data
)。
3、如何计算 Solana 计划的租金?
使用 Solana CLI 中的 rent
命令提供了一种估算租金成本的简单方法。 你可以通过输入帐户大小(以字节为单位)来查看每字节、每周期的租金以及帐户免租金所需的最低金额。
根据租金制度,账户有 Account::rent
当前纪元或当前纪元 + 1 的租金,并且欠一个纪元的时间的租金。
如果帐户处于豁免制度中,则 Account::rent
纪元将简单地调整为当前纪元。
如果帐户是非豁免的,则使用 Rent::due()
来确定该帐户欠多少租金。 此计算基于下一个纪元和 Account::rent
纪元之间的差异。 这些步骤将向你展示如何计算 Solana 计划的租赁价格。
3.1 第创建新程序
首先,导航到你的终端并使用 Cargo 创建一个新文件夹,这是我们的主文件将存储的位置。
打开 src/main 并替换为此处的代码片段
3.2 计算租金成本
文件的大小应为 906 字节,我们可以通过简单地运行以下命令来计算租金:
solana rent 906
你应该看到以下内容:
最后,没有租金扣除的匹配交易,因为租金收取是根据协议级别的账户修改进行的,例如向验证者分配租金。
因此,租金收取在很大程度上是不可见的,只能通过最近的交易或账户地址前缀指定的时间隐式观察到。
4、如何回收 Solana 存储费
要收回 Solana 存储费,开发人员和日常 Solana 用户可以关闭帐户以收回存储费。 兑换 Solana 租金的最简单方法是使用 Sol Incinerator 等消费者友好型工具来关闭钱包中未使用的帐户。
5、结束语
租金成本目前是在最初设定的,但计划在未来变得动态,反映底层硬件存储的当前成本。 因此,人们普遍认为,随着技术进步和硬件成本下降,租金成本也会下降。
原文链接:How to Calculate Rent for Solana Programs
DefiPlot翻译整理,转载请标明出处