General
Solana 上的代币

Solana 上的代币

功能

Token Program 通过一组指令操作,允许您创建代币铸造、初始化代币账户、在账户之间转移代币以及管理权限。

它还支持多签名账户以增强安全性,并提供冻结账户和委托代币权限的机制。

初始化账户

Token Program 提供了不同的指令和辅助工具,可以简化初始化新账户的复杂过程。

如果我们想要初始化 Mint 账户或 Token 账户,会有不同的指令。在 Associated Token 账户的情况下,Associated Token Program 会在推导出正确的 Program Derived Address 后,使用 initializeAccount 指令。

此功能仅初始化账户,因此我们需要确保在此之前使用 System Program 的 createAccount() 指令,并设置正确的所有者(Token Program)、空间和 lamports,以使其免租金。

转账

将代币从一个账户转移到另一个账户。这是用户之间发送代币的基本操作。

代币账户的所有者需要是该交易的 Signer,而该转账的目标需要是另一个代币账户。

我们决定转移的金额不包含小数位。因此,如果我们想发送一个有 6 位小数的代币,我们需要使用 1e6 表示法。

授权

授予代理权限,允许其代表账户所有者转移特定数量的代币。这使得程序化的代币转移成为可能,而无需授予完整的账户控制权。

我们设置一个“批准”的金额,代理只能转移不超过该金额的资金

Revoke

移除当前代理对账户的权限,将账户的完全控制权归还给账户所有者。

立即取消任何现有的代理权限,且只有账户所有者可以撤销代理(代理本身无法撤销)

Set Authority

更改 mint 或账户的权限。这允许转移所有权或更新特定的权限类型。

可以更改 mint 权限、冻结权限或账户所有者,将权限设置为 None 是一个不可逆的操作,会永久移除该功能

Mint To

创建新代币并将其存入指定账户。只有 mint 权限持有者可以执行此操作。

增加代币的总供应量,并且金额遵循 mint 的小数配置

Burn

通过从流通中移除代币来永久销毁代币。这会减少代币的总供应量。

永久减少代币的总供应量,此操作可以由账户所有者或代理执行

Close Account

关闭一个代币账户并将其剩余的 SOL 租金转移到目标账户。代币账户必须余额为零,除非它是一个原生 SOL 账户。

从 Token2022 开始,可以关闭供应量为 0 的 Mint 账户

Freeze Account

阻止账户上的所有代币操作,直到账户被解冻。只有 mint 的冻结权限持有者可以执行此操作。

完全禁用转账、授权和销毁操作,并且仅影响特定被冻结的账户

Thaw Account

重新启用先前被冻结账户的代币操作。只有铸币的冻结权限方可以解冻账户。

恢复被冻结账户的全部功能,并且只能由铸币的冻结权限方执行

Blueshift © 2025Commit: fd080b2