Solana使用Metaboss铸造限量Print Editions NFT报错排查
固定供应量Print Editions铸造问题排查
已执行操作流程
- 上传图片至Arweave,执行命令:
arloader upload image.jpg --with-sol --sol-keypair-path ~/.config/solana/id.json --ar-default-keypair --no-bundle - 创建NFT元数据JSON文件,内容如下:
{ "name": "name_of__the_collection", "symbol": "token_of_the_collection", "uri": "https://arweave.net/[arweave_img_tx_id]", "seller_fee_basis_points": 0, "creators": [ { "address": "address_of_the_creator_of_the_collection", "verified": false, "share": 100 } ] }
- 铸造Master Edition(原版NFT),执行命令:
metaboss mint one --keypair ~/.config/solana/id.json --nft-data-file ./metadata.json --max-editions='10' - 尝试批量铸造全部对应Print Editions(印刷版NFT),执行命令:
metaboss mint missing-editions --account address_of_the_creator_of_the_collection
遇到的报错
- Solana Explorer查看NFT时提示 error loading image(图片加载失败),该问题已自行定位:元数据配置时错误使用uri字段替代image字段,导致浏览器无法拉取图片资源。
- 执行批量铸造印刷版NFT命令时返回错误:Error: failed to get account data(获取账户数据失败),需排查原因与修复方案。
报错原因与修复方案
根本原因
metaboss mint missing-editions 命令的--account入参要求传入Master Edition对应的Mint账户地址,而非创作者钱包地址。传入创作者地址后,程序无法匹配到链上存储的Master Edition版次配置数据,直接触发账户数据获取失败报错。
修复操作
- 查询铸造Master Edition时使用的钱包下的NFT持仓列表,找到对应名称的原版NFT,复制其Mint地址(注意不是钱包地址,不是NFT持有账户地址,是NFT本身的Mint标识地址)
- 替换命令中的
--account参数值为上述复制的Master Edition Mint地址,补充显式指定keypair参数避免权限读取异常,正确命令格式:metaboss mint missing-editions --account <替换为Master Edition的Mint地址> --keypair ~/.config/solana/id.json - 执行前确认当前使用的keypair为该Master Edition的更新权限持有方(即最初铸造原版NFT时使用的钱包),非权限方调用同样会触发账户数据读取失败类报错。
内容的提问来源于stack exchange,提问作者hotips
相关产品推荐
相关产品推荐

