Anchor
使用 Anchor 的 SPL 代币

使用 Anchor 的 SPL 代币

冻结和解冻说明

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

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

解冻会重新启用之前被冻结账户上的代币操作。只有代币的冻结权限持有者才能解冻账户。

恢复被冻结账户的全部功能,并且只能由代币的冻结权限持有者执行

在我们冻结或解冻任何代币账户之前,我们需要已经完成以下操作:

  • 初始化了一个我们持有 freezeAuthorityMint 账户
  • 初始化了一个我们想要冻结或解冻的 Token 账户或 Associated Token 账户

以下是 CPI 到 freeze_account() 指令的示例:

freeze_account(
    CpiContext::new(
        ctx.accounts.token_program.to_account_info(),
        FreezeAccount {
            account: ctx.accounts.token_account.to_account_info(),
            mint: ctx.accounts.mint.to_account_info(),,
            authority: ctx.accounts.authority.to_account_info(),
        },
    ),
)?;

以下是 CPI 到 thaw_account() 指令的示例:

thaw_account(
    CpiContext::new(
        ctx.accounts.token_program.to_account_info(),
        ThawAccount {
            account: ctx.accounts.token_account.to_account_info(),
            mint: ctx.accounts.mint.to_account_info(),,
            authority: ctx.accounts.authority.to_account_info(),
        },
    ),
)?;
Blueshift © 2025Commit: fd080b2