返回博客
Solana

SPL Token 与 Token-2022:在 Solana 上有什么区别?

你钱包里并排的两个代币,可能属于不同的程序。一个使用原版 SPL Token 程序;另一个使用 Token-2022,我们今年关闭的空账户大多来自这个较新的程序。大多数时候你察觉不到区别。如果察觉到了,通常是因为某个扩展。

SPL Token 和 Token-2022 有什么区别?

两者都是 Solana 代币程序。SPL Token(TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA)是原版程序。Token-2022(TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb)也称为 Token Extensions,逐字节支持相同的指令,并增加可选扩展,例如转账费用、内置元数据和永久委托人。一个代币的铸币账户只属于两者之一。

两个程序都来自 Solana Program Library,因此两者上的代币常被称为 SPL 代币;本文中的 SPL Token 指原版程序。

某个代币所有持有人的代币账户,都与该代币的铸币账户属于同一个程序。Token-2022 是原版程序的严格超集,所以基本操作方式相同:在两者中你都可以持有、发送、销毁代币,也可以关闭账户。不同之处在于代币创建者可以开启哪些功能。

如何判断代币使用哪个程序?

把代币的铸币地址粘贴到 Solscan 等 Solana 区块浏览器中,查看其所有者程序。Token-2022 铸币账户会显示 Token-2022 程序,能解码扩展的浏览器还会列出它使用的扩展;原版代币则显示 Token Program。如果没有显示任何扩展,请先用支持 Token-2022 的解码器检查,再下结论认为没有扩展。你钱包中的代币账户与铸币账户属于同一个程序,因此在浏览器中查看你自己的账户,也能得到相同的答案。

扩展会为持有人带来哪些变化?

扩展是创建者在创建代币时选择的可选功能。有些只是添加信息,比如元数据;另一些则会改变你持有的代币可能遇到的情况:

扩展对持有人意味着什么
Transfer fees每次转账都会收取一笔费用,并预扣在收款人的账户中
Permanent delegate某一个地址可以从任何持有人那里转移或销毁任意数量的该代币,且持有人无法撤销
Default account state新代币账户可能一开始就处于冻结状态,直到发行方解冻
Non-transferable代币不能发送给其他人,但你仍可以销毁代币并关闭账户
Pausable发行方可以暂停所有转账、铸造和销毁
Transfer hook创建者选定的程序会在每次转账时运行,并可阻止不符合其规则的转账
Metadata代币的名称、符号和图片链接可以直接存储在铸币账户中

由于这些设置由发行方控制,请在购买 Token-2022 代币之前(而不是之后)检查它的扩展。我们的永久委托人指南介绍了如何识别其中权限最大的一种。

Token-2022 账户持有的租金更多吗?

多一点。关联代币账户程序总会为 Token-2022 账户添加 Immutable Owner 扩展,使标准账户为 170 字节,而不是 165 字节。按 2026年10月7日核查的租金费率,这相当于 0.00151384 SOL,而不是 0.00148844 SOL。在 Solana 原有租金设置下开设的账户,分别持有 0.00207408 SOL 和 0.00203928 SOL。存储更多数据的扩展会让押金更高;我们的 Token-2022 扩展指南说明了如何读出实际金额。

Token-2022 现在有多普遍?

非常普遍。在我们自己的196 百万个已关闭代币账户数据中,2025年10月及之前的每个月,Token-2022 最多只占我们所关闭账户的 3.3%,通常低于 2%。自 2025年12月起,它每个月都占多数,并在 2026年7月达到 80.3% 的峰值;在 2026年截至10月6日关闭的全部账户中,它占 71.9%。如果你今年在 Solana 上交易过,你的空账户大多可能都是 Token-2022 账户。

一次清理两种账户

Sol Incinerator 会在同一次清理中关闭两个程序的空账户,所以你不需要知道某个代币用的是哪个程序。Fun Mode 还会从你保留的受支持账户中提取多余押金,撤销授权工具则会清除你在任一程序上授予的授权。仍持有预扣转账费用的空 Token-2022 账户,必须先清除这些费用才能关闭;任何人都可以用 Token-2022 无需许可的归集指令把这些费用转移到铸币账户,之后该账户即可关闭。其他情况下,预览会在你批准前显示扣除费用后能拿回多少。

Sol Incinerator

Sol Incinerator

一起关闭空的 SPL Token 和 Token-2022 账户,取回其中的押金。

立即试用

延伸阅读

常见问题

Token-2022 是 SPL 代币吗?

是的。Token-2022 也称为 Token Extensions,是 Solana Program Library 中较新的代币程序。它逐字节支持原版 Token Program 的指令,并增加可选扩展。因此两种代币都算 SPL 代币,但每个代币的铸币账户都只属于这两个程序中的一个。

如何知道某个代币是否使用 Token-2022?

在 Solana 区块浏览器中查找该代币的铸币地址,查看它由哪个程序拥有。Token-2022 铸币账户由 TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb 拥有;原版代币由 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA 拥有。能解码 Token-2022 的浏览器还会列出该铸币账户的扩展,而你自己持有该代币的代币账户也属于同一个程序。

Token-2022 代币能做普通代币做不到的事吗?

能,前提是创建者启用了扩展。视铸币账户而定,转账可能会被收取费用,永久委托人可以转移或销毁任何持有人的代币,新账户可能一开始就处于冻结状态,或者转账可能被暂停。请在购买前检查代币的扩展,因为持有人无法移除它们。

我能关闭空的 Token-2022 账户取回 SOL 吗?

能。空的 Token-2022 账户和原版代币账户一样持有租金押金,关闭账户即可退回。有些扩展会增加条件,例如关闭前必须先清除预扣的转账费用。Sol Incinerator 会在同一次清理中关闭两个程序下符合条件的空账户,并显示扣除费用后能拿回多少。

SPL Token 与 Token-2022:在 Solana 上有什么区别? | Sol Incinerator