首页 > 解决方案 > ipfs 模块不适用于 firebase 功能

问题描述

我正在尝试使用 firebase 云功能将数据存储在 IPFS 上。我能够安装 ipfs-mini 软件包。

const IPFS = require('ipfs-mini');
const ipfs = new IPFS({ host: 'ipfs.infura.io', port: 5001, protocol: 'https' });

ipfs.add("testdata")
    .then(function(result){               
      response.send(result);
    })  
    .catch(function (err) {            
      response.send(err)
    })

但是我得到了截图中的错误

标签: firebasegoogle-cloud-functionsipfs

解决方案


根据您的错误getaddrinfo ENOTFOUND ...,可能是因为您使用的是免费的“Spark”计划。您需要使用“Flame”或“Blaze”定价计划。

事实上,免费的“Spark”计划“只允许向 Google 拥有的服务发出出站网络请求”。请参阅https://firebase.google.com/pricing/(将鼠标悬停在“云功能”标题后面的问号上)

由于 IPFS 不是 Google 拥有的服务,因此您需要切换到“Flame”或“Blaze”计划。

请注意,如果您选择“Blaze”计划,您仍然可以利用免费“Spark”计划提供的免费套餐(请参阅右上角单元格中的“包含 Spark 计划的免费使用”备注价格表)


推荐阅读