我注意到您可以使用js-ipfs
在Service Worker中启动节点。我很好奇,想知道服务工作者实现与简单地导入捆绑的javascript库之间有什么区别。
我目前仅在add
和pin
文件中使用导入的js库,看来工作正常。节点是否确实在用户的浏览器上运行?
答案 0 :(得分:1)
在Web应用程序中运行js-ipfs时,它是在浏览器中运行的完整IPFS节点。您可以使用编程接口(ipfs.add
,ipfs.cat
等)与它进行通信,就像您所描述的那样,但是它无法回答常规的HTTP请求,因为它无法打开TCP端口来启动HTTP服务器。通常这不是问题,但是如果要显示从IPFS下载的图像,则需要通过cat
提取图像并将其内联为Data URL。
在Service Worker中运行js-ipfs可以使您在常规程序界面的基础上,就像regular gateways一样,能够提供对/ipfs/{CID}
路径的HTTP请求的响应。