Solana已有NFT添加至Metaplex认证集合的接口参数求助
Metaplex 认证集合NFT验证指令入参详解
首先纠正一个参数理解偏差:你标注的collectionMint: (nft to be added)是错误的,该参数并非待加入集合的NFT mint地址,所有入参的具体含义如下:
metadata:待加入集合的普通NFT对应的Metadata账户PDA地址。该地址可通过Metaplex固定PDA规则推导,推导种子为["metadata", Token Metadata程序ID, 待加入NFT的mint地址],账户内存储了该NFT的属性、归属集合等核心元数据。collectionAuthority:集合的管理权限签名地址。即认证集合创建时指定的、拥有集合内NFT验证权限的账户,一般为集合创建者钱包地址,也支持提前配置的委托管理地址,该账户必须对本次交易签名才会通过链上校验。payer:交易手续费支付地址,即你注释中提到的签名钱包公钥,只要账户持有足够SOL支付链上gas即可,无其他特殊权限要求。collectionMint:认证集合本身对应的Mint账户地址。Metaplex标准认证集合本身就是一个特殊的Collection NFT,该参数需要填入这个集合NFT的mint公钥,而非待加入的普通NFT的mint。collection:集合NFT对应的Metadata账户PDA地址。推导逻辑和普通NFT的Metadata账户一致,仅需将推导种子里的mint地址替换为上述collectionMint的地址即可,该账户存储了集合本身的配置信息、合法认证标记。collectionMasterEditionAccount:集合NFT对应的Master Edition(主版本)账户PDA地址。该账户是Metaplex正版NFT的标准关联账户,推导种子为["metadata", Token Metadata程序ID, 集合NFT的mint地址, "edition"],链上程序会通过该账户校验目标集合是否为合法的可认证Metaplex集合。
注意事项:调用该验证指令前,需要先修改待加入NFT的Metadata账户,将其中的
collection字段填入目标集合NFT地址、verified字段设为false,之后再调用验证指令,链上校验通过后会自动将verified标记更新为true,完成NFT的集合认证流程。如果未提前设置对应collection字段,直接调用验证指令会触发链上报错。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

