收回与 Solana NFT 关联的 SOL 并不一定需要销毁。标准 NFT 通常位于钱包拥有的代币账户中,而该账户持有的 lamports 可能超过当前的租金豁免最低额。转移盈余时,NFT 会原封不动地留在原处。
可以在不销毁 NFT 的情况下从中收回 SOL 吗?
可以,前提是 NFT 的代币账户持有的 SOL 超过其实时租金储备。 WithdrawExcessLamports 只会转移该盈余。代币账户保持开启,NFT 数量仍为一,铸币、元数据、版本和所有权数据均不会改变。
这与人们通常认为的销毁收藏品所获得的返还不同。销毁会永久摧毁代币,有时还能关闭相关账户。提取超额租金则特意设计为非破坏性操作,并会让代币账户继续保持租金豁免状态。
究竟哪个 NFT 账户持有多余的 SOL?
一个标准 Metaplex NFT 涉及多个链上账户层。这些账户并非由同一方所有,也不适用同一提取规则:
| 账户层 | 典型所有者 | 持有者可以使用 WithdrawExcessLamports 吗? |
|---|---|---|
| 钱包的 NFT 代币账户 | SPL Token 或 Token-2022 程序 | 可以,前提是钱包是代币账户的所有者且账户存在盈余 |
| NFT 铸币账户 | Token Program | 只有具备铸币账户所需的权限才可以;仅持有 NFT 并不足够 |
| 元数据账户 | Metaplex 程序 | 否 |
| 版本或主版本账户 | Metaplex 程序 | 否 |
| 可编程 NFT 代币记录 | Metaplex 程序 | 否 |
| 压缩 NFT 叶节点 | 共享压缩树 | 不存在独立的代币账户或租金存款 |
对于普通持有者,相关资金来源是钱包所有的代币账户。NFT 铸币账户是一个具有独立权限的单独账户。元数据和版本账户是程序派生账户,并非持有者可以提取资金的代币账户。
提取后,NFT 会怎样?
代币账户会保留足够的 lamports,以满足网络当前的储备要求。用于定义所持 NFT 的一切均保持不变:
- 代币账户地址和所有者;
- 代币数量为一;
- NFT 铸币账户及供应量;
- 元数据和版本内容;
- 合集验证;
- 可编程规则和代币记录;以及
- 钱包转移或使用该资产的能力。
该交易仍是公开的,应仔细核对;但仅仅因为源代币账户代表一个 NFT,并不意味着交易中包含 NFT 销毁或代币转移。
确认所选操作为 超额租金,而不是 NFT 销毁操作。专业模式包含破坏性资产操作。趣味模式的超额租金收回是非破坏性的,但在签名前,您的钱包始终是核实实际交易的最终环节。
一个 NFT 代币账户可以返还多少 SOL?
大多数经典标准 NFT 代币账户采用与同质化代币账户相同的 165 字节布局。在旧版租金设置下,该布局需要 0.00203928 SOL。如果租金下调功能门降低了所需储备,而账户仍保留旧版余额,两者之差就会成为盈余。
确切金额可能因以下原因而有所不同:
- 此前的提取已将账户余额降至较早阶段的储备要求;
- Token-2022 扩展增加了其数据长度;
- 额外的 lamports 被直接发送到了代币账户;
- 下一个拟议的租金功能门尚未激活;或
- 该账户涉及另一项已选操作。
Sol Incinerator 根据实时账户状态计算超额总额,并收取该总额的 200 个基点,即 2%。常规网络费另行计算,因此请以最终预览为准,而不要用 NFT 的数量乘以固定值。
如何收回 NFT 代币账户中的盈余?
- 打开 Sol Incinerator 并连接持有该 NFT 的钱包。
- 等待只读扫描和合并领取预览完成。
- 查看 超额租金 Fun Mode 中的类别,或从高级清理列表中选择它。
- 核对账户地址、总额、协议费、交易成本和预计的 SOL 净变化。
- 确认没有为您想保留的 NFT 选择销毁操作。
- 签名并等待链上确认。
NFT 会留在保留的代币账户中。如果后续租金阶段再次降低储备要求,同一账户可能会再次符合条件。
能否在不销毁的情况下提取元数据或版本账户的租金?
不能。元数据、版本和可编程代币记录账户由 Metaplex 程序拥有,并非由 NFT 持有者通过 Token Program 拥有。 WithdrawExcessLamports 无法提取其中的资金。要收回这些账户中的合格余额,通常需要使用受支持的关闭或销毁流程;这是另一项具有破坏性的决定。
这一界限可避免一种常见误解。一个 NFT 可能关联多个账户,但这种关联并不意味着持有者有权从每个账户提取资金。Token Program 指令只识别其自身的铸币账户、代币账户和多签账户。
阅读 如何在 Solana 上销毁 NFT 如果您打算销毁不需要的资产。阅读 Solana NFT:存储、租金、销毁与钱包清理 ,了解不同 NFT 标准之间更广泛的差异。
可编程 NFT 和压缩 NFT 的情况如何?
可编程 NFT 仍有代币账户,但还会使用由程序所有的代币记录状态。只有实时预览才能确定钱包所有的代币账户能否通过超额租金封装程序执行操作。代币记录本身并不是可提取资金的来源。
压缩 NFT 的情况不同。其所有权以共享默克尔树中的叶节点表示,而不是由独立的钱包代币账户表示。每个 NFT 都没有可提取的代币账户租金存款,因此删除或销毁压缩 NFT 不会从该资产返还任何 SOL。
何时应提取、关闭或销毁?
| 您的意图 | 适当操作 |
|---|---|
| 保留 NFT,仅收回账户盈余 | 提取超额租金 |
| 不在已清空的代币账户中保留任何资产 | 关闭账户 |
| 永久销毁不需要的 NFT | 在评估所有后果后,使用受支持的销毁流程 |
| 从视图中移除压缩 NFT | 在明确不会返还独立账户租金的情况下销毁或移除它 |
首先根据资产处理结果进行选择,其次再考虑 SOL 金额。少量返还不足以成为销毁您想保留之物的理由。
