Node.js调用Pinata固定文件到IPFS报ERR_INVALID_ARG_TYPE错误
问题触发原因
- 报错直接诱因:
pinFileToIPFS.js中传给axios的url参数对应pinataEndpoint变量取值为undefined,不符合axios要求的字符串类型,因此抛出ERR_INVALID_ARG_TYPE类型错误。 - 根本原因:
.env配置文件沿用了Python项目的写法,每行配置前加了export前缀,但JavaScript项目常用的dotenv依赖不支持该语法,无法正确解析出PINATA_ENDPOINT等环境变量,导致读取到的值为undefined。
解决方法
删除.env文件中所有配置行开头的export 前缀,调整后配置格式参考如下:
# PRIVATE_KEY=asafdagadd # WEB3_INFURA_PROJECT_ID=asdfsdf # ETHERSCAN_TOKEN=asdfasdfasdf IPFS_URL=blah blah UPLOAD_IPFS=true PINATA_API_KEY='blah blah' PINATA_API_SECRET='blah blah' PINATA_ENDPOINT="https://api.pinata.cloud/pinning/pinFileToIPFS"
修改完成后重新执行node scripts1/runScript.js即可恢复正常运行。
内容的提问来源于stack exchange,提问作者RedRum
相关产品推荐
相关产品推荐

