title: 圧縮NFTの転送 metaTitle: 圧縮NFTの転送 | Bubblegum v2
transferV2命令は、圧縮NFTをある所有者から別の所有者に転送するために使用できます。転送を認証するには、現在の所有者またはデリゲート権限(存在する場合)がトランザクションに署名する必要があります。デリゲート権限は、リーフデリゲートまたはコレクションのpermanentTransferDelegateのいずれかです。
この命令は圧縮NFTを更新するため、Bubblegumツリー上のリーフを置き換えることに注意してください。これは、圧縮NFTの整合性を検証するために追加のパラメータを提供する必要があることを意味します。これらのパラメータはリーフを変更するすべての命令に共通であるため、次のFAQでドキュメント化されています。幸いなことに、Metaplex DAS APIを使用してこれらのパラメータを自動的に取得するヘルパーメソッドを使用できます。
{% callout title="トランザクションサイズ" type="note" %}
トランザクションサイズエラーが発生した場合は、getAssetWithProofで{ truncateCanopy: true }の使用を検討してください。詳細についてはFAQを参照してください。
{% /callout %}
命令は以下のパラメータを受け入れます:
permanentTransferDelegateにすることができ、デフォルトではトランザクションのpayerです。JavaScriptを使用する場合は、最初にgetAssetWithProof関数を使用してパラメータを取得し、それらをtransferV2命令に渡すことをお勧めします。
{% dialect-switcher title="圧縮NFTの転送" %} {% dialect title="JavaScript" id="js" %} {% totem %}
```ts import { getAssetWithProof, transferV2 } from '@metaplex-foundation/mpl-bubblegum'; const assetWithProof = await getAssetWithProof(umi, assetId, { truncateCanopy: true, })
// その後、leafOwnerAはそれを使用してNFTをleafOwnerBに転送できます。 const leafOwnerB = generateSigner(umi) await transferV2(umi, { // プルーフ付きアセットからのパラメータを渡します。 ...assetWithProof, authority: leafOwnerA, newLeafOwner: leafOwnerB.publicKey, // cNFTがコレクションの一部である場合、コアコレクションを渡します。