![見出し画像](https://assets.st-note.com/production/uploads/images/146393606/rectangle_large_type_2_b5cc22f637751590c9cd529a74213a34.png?width=1200)
【完全保存版】MetaplexのBubblegum NFTをミントしてみよう!
当記事は、こちらの記事を翻訳・編集したものです。
ただし、私がまだコレクション付きのNFTを作ったことがないため、コレクション付きのミントの部分は翻訳していません。
(わかりましたら、追記します。)
また、実際に手を動かすとしっくりくりと思います。
ここで簡単な実装をしているので、よかったらやってみてください。
0 はじめに
下の記事で、Compressed NFTをミントするためにバブルガムツリーが必要であり、その作成方法を見てきました。
ここでは、特定のバブルガムツリーからCompressed NFTをミントする方法を見ていきます。
バブルガムプログラムは2つのミント命令を提供します。
1つはコレクションに関連付けずにNFTをミントする命令で、もう1つは指定されたコレクションにNFTをミントする命令です。
1 コレクションなしのミント
バブルガムプログラムは、バブルガムツリーからCompressed NFTをミントできるMint V1命令を提供します。
![](https://assets.st-note.com/img/1720248160717-ZoeEBsTZBd.png?width=1200)
バブルガムツリーが公開(public)されている場合、誰でもこの命令を使用できます。
それ以外の場合は、ツリークリエーターまたはツリーデリゲートのみが使用できます。
Mint V1命令の主なパラメータは以下の通りです。
1 Merkle Tree
Compressed NFTがミントされるメルクルツリーのアドレス。
![](https://assets.st-note.com/img/1720248204958-P4fg90wRbQ.png?width=1200)
2 TreeCreatorOrDelegate
バブルガムツリーからミントする権限を持つアカウント。これはツリークリエーターまたはデリゲートのいずれかです。
![](https://assets.st-note.com/img/1720248529290-MshqRubNPD.png?width=1200)
この権限を持つアカウントはトランザクションにサインする必要があります。
公開ツリーの場合、このパラメータは任意の権限でも良いですが、サインナーである必要があります。
3 Leaf Owner
ミントされるCompressed NFTの所有者。
![](https://assets.st-note.com/img/1720248236709-SEGzLi66N1.png?width=1200)
4 Leaf Delegate
ミントされたcNFTを管理する権限を持つデリゲートアカウント(存在する場合)。そうでない場合はLeaf Ownerに設定されます。
![](https://assets.st-note.com/img/1720248566326-439qeYZNCR.png?width=1200)
5 Metadata
ミントされるCompressed NFTのメタデータ。
NFTの名前、URI、コレクション、クリエーターなどの情報が含まれます。
![](https://assets.st-note.com/img/1720248626303-jU5G01h8qu.png?width=1200)
なお、メタデータ内にコレクションオブジェクトを提供することは可能ですが、コレクション権限がこの命令で要求されないため、Verifiedフィールドはfalseに設定する必要があります。
![](https://assets.st-note.com/img/1720246406570-oyhHSwwO8I.png?width=1200)
また、クリエーターはミント時にcNFT上で自分自身を検証できます。
このためには、クリエーターオブジェクトのVerifiedフィールドをtrueに設定し、残りのアカウントとしてクリエーターを追加してトランザクションにサインさせる必要があります。
![](https://assets.st-note.com/img/1720246454495-meOgTRedX9.png?width=1200)
複数のクリエーターが存在する場合も同様に行えます。
コレクションなしでCompressed NFTをミントする
2 ミントトランザクションからリーフスキーマを取得
mintV1トランザクションからリーフを取得し、∫するために、parseLeafFromMintV1Transactionヘルパーを使用できます。
![](https://assets.st-note.com/img/1720247851068-Dr38XzkoVn.png?width=1200)
![](https://assets.st-note.com/img/1720253232900-0EFKnG7qGD.png?width=1200)
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊