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

合约已部署但运行脚本报错 IPFS文件固定失败配置缺失问题排查

错误根因分析
  • 核心问题是项目依赖的node-config包加载配置失败,导致脚本调用Pinata上传文件到IPFS的请求地址、Pinata API密钥、Pinata API密钥对全部未被正确赋值,取值为undefined
  • 直接触发报错的原因是axios发送请求时,必填的url参数为undefined,不符合字符串类型要求,抛出ERR_INVALID_ARG_TYPE错误
  • 日志开头的警告已经明确给出前置原因:当前NODE_ENV被设置为dev,但项目根目录下的config文件夹中没有匹配的配置文件,也没有默认配置文件,所有从配置中读取的变量均为空值
解决步骤
  1. 首先在项目根目录创建config文件夹(如果该目录不存在)
  2. 在config文件夹下新建dev.js或default.js配置文件,填入以下必填配置,替换为你自己的Pinata账号信息:
module.exports = {
  pinata: {
    apiKey: "你的Pinata API Key",
    apiSecret: "你的Pinata API Secret",
    uploadUrl: "https://api.pinata.cloud/pinning/pinFileToIPFS"
  }
  // 其余脚本需要的配置项可同步补充在此处
}
  1. 确认script/runScript.js中读取配置的字段和配置文件中的字段保持一致,读取配置的代码参考如下:
const config = require('config')
const pinataApiKey = config.get('pinata.apiKey')
const pinataApiSecret = config.get('pinata.apiSecret')
const pinataUploadUrl = config.get('pinata.uploadUrl')
  1. 重新执行node script/runScript.js即可正常运行

如果仅需临时测试功能,也可以直接在runScript.js中对上述三个变量硬编码赋值,后续再改为配置读取的规范写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:48:02