Anchor
使用Anchor的SPL代幣

使用Anchor的SPL代幣

轉賬指令

將代幣從一個賬戶轉移到另一個賬戶。這是用戶之間傳送代幣的基本操作。

在我們可以轉移任何代幣之前,我們需要已經完成以下準備:

  • 初始化了一個Mint賬戶。

  • 一個來源Token賬戶或Associated Token賬戶,該賬戶已經擁有至少我們想要轉移的數量。

  • 一個目標Token賬戶或Associated Token賬戶,該賬戶將接收來自來源Token賬戶的代幣。

我們轉移的代幣數量是根據小數位數進行「標準化」的。這意味著,如果我們想要轉移1個有6位小數的代幣,我們實際上需要輸入1_000_000作為數量。

以下是對transfer()指令的CPI調用的樣子:

rust
transfer(
    CpiContext::new(
        ctx.accounts.token_program.to_account_info(),
        Transfer {
            from: ctx.accounts.from_token_account.to_account_info(),
            to: ctx.accounts.to_token_account.to_account_info(),
            authority: ctx.accounts.authority.to_account_info(),
        },
    ),
    &1_000_000,
)?;
Blueshift © 2025Commit: e573eab