我有javascript应用程序(ReactJs),它将作为移动设备上的Android混合应用程序运行.我不想在移动设备上运行完整的IPFS节点,因为它会消耗大量的内存和能量.如何将我的应用程序连接到IPFS呢?
我看到了https://github.com/ipfs/js-ipfs-api#importing-the-module-and-usage,但它不再适用于移动设备,因为它作为独立服务运行.
可能我必须通过IPFS API(https://ipfs.io/docs/api/)连接到互联网上的某个IPFS节点,但是有没有办法在运行时发现运行节点并选择最快/最近一?
您在这里有几个选择:
js-ipfs在需要时运行节点实例,然后对其进行垃圾回收。你在开发 PWA 吗?js-ipfs在 Android 手机的 Chrome 上运行良好,请查看https://github.com/ipfs/js-ipfs/tree/master/examples以了解如何开始。
至少到目前为止,我的经验是,对于任何语言,IPFS 都没有任何好的包装器。至少,目前还没有。但这没关系,因为它使用起来非常简单。请记住,当您添加文件时,它会在标头中返回哈希值,而不是像您期望的那样在响应正文中返回。那真的把我搞砸了。除此之外,别无他物。
至于不需要运行它......你真的应该运行你自己的ipfs节点。这是确保您的内容在人们需要时仍然可用的唯一方法。然而,IPFS 上的缓存寿命似乎约为 8 小时,这非常惊人,但它不能替代实际成为网络的一部分。
也就是说,您可能能够找到可写的公共节点。你必须在谷歌上搜索,但我绝对肯定它们就在那里。
您可能还想为积极从事 IPFS 项目的人查看 Steemit 之类的频道。我在那里很幸运。很多关于 IPFS、Swarm、Web3 和 Dapps 的答案。
哦,要测试节点是否可写,请尝试以下操作:
<form action="http://[domain_name]:[port_number]/ipfs/api/v0/add" enctype="multipart/form-data" method="post">
<input type="file" name="image" accept="image/*"/>
<input type="submit"/>
</form>Run Code Online (Sandbox Code Playgroud)
祝你好运!
| 归档时间: |
|
| 查看次数: |
3641 次 |
| 最近记录: |