Bubblegum

转移压缩NFT

Transfer指令可用于将压缩NFT从一个所有者转移到另一个所有者。要授权转移,当前所有者或委托权限(如果有)必须签署交易。该指令接受以下参数:

  • 叶子所有者叶子委托:压缩NFT的当前所有者及其委托权限(如果有)。其中之一必须签署交易。
  • 新叶子所有者:压缩NFT新所有者的地址。

请注意,此指令会更新压缩NFT,因此会替换Bubblegum树上的叶子。这意味着必须提供额外的参数来验证压缩NFT的完整性。由于这些参数对所有更改叶子的指令是通用的,它们在以下FAQ中有记录。幸运的是,我们可以使用辅助方法,它将使用Metaplex DAS API自动为我们获取这些参数。

交易大小

如果遇到交易大小错误,请考虑在getAssetWithProof中使用{ truncateCanopy: true }。详情请参阅FAQ

转移压缩NFT

import { getAssetWithProof, transfer } from '@metaplex-foundation/mpl-bubblegum'
const assetWithProof = await getAssetWithProof(umi, assetId, {truncateCanopy: true});
await transfer(umi, {
...assetWithProof,
leafOwner: currentLeafOwner,
newLeafOwner: newLeafOwner.publicKey,
}).sendAndConfirm(umi)