Skip to content
全部期权指南
Solana 代币机制12 min read

Solana Token-2022 扩展:转账费、Hook 与账户状态

Token-2022 的 mint 和代币账户扩展如何改变手续费、额外账户、冻结、memo 及钱包兼容性。

本指南内容Token-2022 为 mint 和账户添加状态

简短摘要

Token-2022 使用 mint 和代币账户,但可选扩展可能改变转账结果。发送前请核对 mint 地址、所属程序、已启用扩展、权限以及接收账户状态;ticker 本身不能说明这些规则。

Token-2022 为 mint 和账户添加状态

Token Extensions Program(通常称 Token-2022)通过扩展数据和指令增加可选行为。有些扩展保存在 mint 上,影响该代币的转账;有些则属于单个代币账户。不同 Token-2022 代币的行为并不相同:某些扩展不能同时使用,而且大多数不能在账户初始化后再添加。请查看链上的实际扩展列表。Solana

mint 地址识别资产,ticker 只是标签

名称和符号便于钱包展示,但不是唯一标识。每种代币都有唯一的 mint 地址,mint 所属程序也很重要。原 Token Program 和 Token-2022 是不同程序,ticker 相同并不代表账户可以互换。请用可信来源核对完整地址,并检查程序、扩展和权限。Solana · Solana

转账费会减少接收方可用余额

mint 上的 TransferFeeConfig 扩展设置费率和最高费用。假设转出总额为 10.00、费率为 1.5%、上限为 0.20,费用是 0.15:接收方可用余额增加 9.85,另有 0.15 暂存在目标代币账户。计算时要使用总额、小数位和当前生效配置。Solana

Transfer Hook 会增加程序逻辑和额外账户

启用 transfer hook 的 mint 会保存 hook 程序地址,并在每次转账时通过 CPI 调用它。Hook 可要求 ExtraAccountMetaList 中的额外账户,用于检查允许名单、金额上限或预先设置。账户缺失或程序拒绝都会使整个交易失败,不会绕过 hook 只转一部分。请解析最新账户列表,并在签名前模拟交易。Solana · Solana

新账户可能以冻结状态创建

DefaultAccountState 扩展设置新代币账户的初始状态,也可以让新账户默认冻结。mint 的 freeze authority 解冻前,账户无法正常进行代币操作。更改默认状态只影响之后创建的账户,不会自动解冻已经冻结的账户。请检查接收账户状态和可解冻它的权限。Solana · Solana

Memo 要求配置在接收账户上

MemoTransfer 配置在接收代币账户上,而不是 mint 上。启用后,同一交易中的 memo 指令必须紧挨在入账转账指令之前。该账户向外转账不会仅因这一扩展而要求 memo。缺少 memo 或顺序错误,程序都会拒绝转账。请按照接收方说明操作并核对地址。Solana

钱包兼容性取决于具体扩展

钱包可以接收带 hook 的代币而不执行 hook,但要发送就必须解析 hook 程序和当前额外账户。钱包还需要展示扣除手续费后的净额,并识别冻结账户或 memo 要求。发行方可能更新 hook 或账户列表,因此每次发送都应重新读取配置,不要依赖过期缓存。Solana · Solana

签名前检查完整转账

先核对完整 mint 地址和所属程序。读取 mint 扩展及权限,再检查实际接收账户状态。有手续费就计算净额;有 hook 就加入所需账户,有 memo 要求就按顺序附上,并模拟完整交易。找到地址并不保证转账成功。这说明的是交易机制,不是投资结果。

[Solana PDA 与代币账户](/zh-CN/learn/solana-program-derived-addresses-seeds-bump-off-curve-explained) · [Solana 交易手续费](/zh-CN/learn/solana-transaction-fees-base-priority-compute-units-explained)

常见问题

Q1所有 Token-2022 代币都会收转账费吗?

不会。转账费是可选的 mint 扩展,请查看该 mint 的实际配置。

Q2钱包能接收带 hook 的代币但不能发送吗?

可以。接收不会运行 hook;发送需要解析 hook 所需账户。

Q3ticker 相同就代表同一种代币吗?

不代表。请核对完整 mint 地址和所属程序;名称和符号并非唯一。

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

Token-2022 扣留的转账费记录在哪里?

选择答案即可查看解释

期权术语表