機能

作成者の検証

Last updated February 24, 2026

Summary

Verifying creators toggles the verified flag on a cNFT's creator entries. This page covers verifying and unverifying creators using the verifyCreatorV2 and unverifyCreatorV2 instructions.

  • Verify a creator on an existing cNFT (the creator must sign)
  • Unverify a creator from a cNFT
  • Creators can also be verified at mint time by signing the mint transaction

圧縮NFTのメタデータに作成者のリストが設定されている場合、これらの作成者は特別な命令を使用してcNFT上で自分自身を検証・検証解除できます。

これらの命令は、cNFTの作成者配列の適切な項目で検証済みブール値を切り替えます。このブール値は、ウォレットやマーケットプレイスなどのアプリがどの作成者が本物でどの作成者がそうでないかを知ることができるため重要です。

作成者は、ミントトランザクションに署名することで、圧縮NFTをミントする際に直接自分自身を検証できることに注目する価値があります。とはいえ、今度は作成者が既存の圧縮NFTで自分自身を検証または検証解除する方法を見てみましょう。

作成者の検証

Bubblegumプログラムは、検証しようとしている作成者によって署名される必要があるverifyCreatorV2命令を提供します。作成者は既に圧縮NFTの作成者配列の一部である必要があります。まだ配列の一部でない場合は、最初にupdateMetadataV2命令を使用して作成者配列に作成者を追加してください。

さらに、この命令はBubblegumツリー上のリーフを置き換えるため、圧縮NFTの整合性を検証するためにより多くのパラメータを提供する必要があります。これらのパラメータはリーフを変更するすべての命令に共通であるため、次のFAQでドキュメント化されています。幸いなことに、Metaplex DAS APIを使用してこれらのパラメータを自動的に取得するヘルパーメソッドを使用できます。

圧縮NFTの作成者の検証

import {
getAssetWithProof,
verifyCreatorV2,
MetadataArgsV2Args
} from '@metaplex-foundation/mpl-bubblegum';
import {
unwrapOption,
none,
} from '@metaplex-foundation/umi';
const assetWithProof = await getAssetWithProof(umi, assetId, {truncateCanopy: true});
const collectionOption = unwrapOption(assetWithProof.metadata.collection);
const metadata: MetadataArgsV2Args = {
name: assetWithProof.metadata.name,
uri: assetWithProof.metadata.uri,
sellerFeeBasisPoints: assetWithProof.metadata.sellerFeeBasisPoints,
collection: collectionOption
? collectionOption.key
: none(),
creators: assetWithProof.metadata.creators,
};
await verifyCreatorV2(umi, {
...assetWithProof,
metadata,
creator: umi.identity, // またはumiアイデンティティとは異なる署名者
}).sendAndConfirm(umi);

作成者の検証解除

verifyCreatorV2命令と同様に、unverifyCreatorV2命令は作成者によって署名される必要があり、圧縮NFT上でそれらを検証解除します。

圧縮NFTの作成者の検証解除

import {
getAssetWithProof,
unverifyCreatorV2,
MetadataArgsV2Args
} from '@metaplex-foundation/mpl-bubblegum'
import {
unwrapOption,
none,
} from '@metaplex-foundation/umi';
const assetWithProof = await getAssetWithProof(umi, assetId, {truncateCanopy: true});
const metadata: MetadataArgsV2Args = {
name: assetWithProof.metadata.name,
uri: assetWithProof.metadata.uri,
sellerFeeBasisPoints: assetWithProof.metadata.sellerFeeBasisPoints,
collection: unwrapOption(assetWithProof.metadata.collection)
? unwrapOption(assetWithProof.metadata.collection)!.key
: none(),
creators: assetWithProof.metadata.creators,
};
await unverifyCreatorV2(umi, {
...assetWithProof,
metadata,
creator: umi.identity, // またはumiアイデンティティとは異なる署名者
}).sendAndConfirm(umi);

Notes

  • Only creators already listed in the cNFT's creators array can be verified. Use updateMetadataV2 to add creators first.
  • The creator being verified must sign the transaction themselves.
  • Creators can be verified at mint time by signing the mint transaction, avoiding the need for a separate verification step.

FAQ

Glossary

TermDefinition
verifyCreatorV2Instruction that sets a creator's verified flag to true on a compressed NFT
unverifyCreatorV2Instruction that sets a creator's verified flag to false on a compressed NFT
Creators ArrayThe list of creator addresses, verification statuses, and royalty share percentages stored in cNFT metadata
VerifiedA boolean flag indicating whether a creator has confirmed their association with the cNFT