You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Metaplex上传NFT到Solana触发map属性读取错误如何解决?

报错原因

你遇到的TypeError: Cannot read properties of undefined (reading 'map')错误,直接触发点是上传脚本中的manifest.properties.creators.map调用:manifest是脚本读取的NFT元数据文件解析后的对象,调用map失败说明manifest.properties.creators字段为undefined,不存在于元数据中。

常见触发场景
  • 元数据文件字段层级错误:creators字段没有放在properties节点下,或者字段名拼写错误(比如写成单数creator、首字母大写Creators)
  • 资产路径配置错误:命令中指定的/nft-assets路径不存在,或者路径下没有符合命名规范的元数据文件,导致脚本读取到空内容
  • 元数据格式不规范:creators没有按要求配置为数组类型
修复方案
  1. 校验资产路径
    确认你执行的上传命令中/nft-assets路径正确,该目录下的资产命名严格遵循数字.后缀规则:比如0.png对应0.json、1.png对应1.json,没有缺号、跳号。

  2. 修正元数据格式
    打开首个元数据文件0.json,确保包含符合规范的properties.creators字段,示例格式如下:

{
  "name": "NFT #0",
  "symbol": "TEST",
  "description": "NFT描述",
  "seller_fee_basis_points": 500,
  "image": "0.png",
  "properties": {
    "files": [
      {
        "uri": "0.png",
        "type": "image/png"
      }
    ],
    "creators": [
      {
        "address": "你的Solana钱包公钥",
        "share": 100
      }
    ]
  }
}

注意所有creator的share字段总和必须等于100,每个creator必须包含address和share两个必填字段。

  1. 清空缓存重试
    修复完成后先删除项目下.cache目录的所有缓存文件,再重新执行上传命令:
    ts-node ~/metaplex-master/js/packages/cli/src/candy-machine-cli.ts upload /nft-assets --env devnet --keypair ~/.config/solana/devnet.json

内容的提问来源于stack exchange,提问作者112233

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:45:07