——Galaxy Pool直接对标IPFS和YottaChain未来万亿级分布式存储市场的存储池,致力于构建分布在亚洲乃至全球稳定、高效,安全的存储池。 (Galaxy Pool在此基础上研发了新一代的存储资源服务平台,为全球用户提供了存储池算力租赁,机房运营,存储资源流通,兑换等服务。让矿工参与存储分布式算力更加便捷,高效,公平) 亮点 可取消的请求和新的浏览器数据库 [email protected]支持取消请求和更精简的浏览器的数据存储。 可取消的请求 用户应该能够取消长时间的异步API操作。 例如,如果你正在从网络上获取一个CID的内容,而这个CID是无法解析的,你应该能够为请求设置一个超时值,超时之后,内容将不再被寻找,控制权将被返回到你的代码中,并有一个描述发生了什么的错误消息。 这并不像在JavaScript中看起来那么简单,因为API调用的时候会返回一个Promise来解析一个内容,而Promises规范中并没有包含任何关于取消Promise的内容。 然而,浏览器的取证API有一个AbortSignal的概念,可以用来中止Web请求。它们通过AbortController进行交互: const controller = new AbortController()setTimeout(() => { ?controller.abort()}, 1000)try { ?await result = fetch('http://example.com', { ? ? ? ?signal: controller.signal ?})} catch (err) { ?console.err(err) // prints: user aborted the request ?} 官方采取了这种方法,并将其集成到每一个API调用中,所以用户现在可以使用AbortControllers来取消请求了! 官方还使用了这种机制来timeout为每个API调用添加一个选项,该API内部使用AbortSignal来停止请求,并在指定的时间后抛出TimeoutEr: const cid = new CID('QmWillNeverResolve')try { ? ?await ipfs.get(cid, { ? ? ?timeout: 1000 // abort after 1000ms ? ?})} catch (err) { ?console.err(err) // err is a TimeoutError ?} 您也可以自己滚动: const cid = new CID('QmWillNeverResolve')const controller = new AbortController()setTimeout(() => { ? ?controller.abort()}, 1000)try { ?await ipfs.get(cid, { ? ?signal: controller.signal ?})} catch (err) { ?console.err(err)?} AbortSignal会一路向下传递给支持IPFS的libp2p和ipld组件。在这个初始版本中,IPFS层支持超时,而在未来的版本中,libp2p和ipld将使用AbortSignal来释放资源,并执行任何其他必要的清理工作,如果请求成功完成,则会进行其他必要的清理。 新的浏览器数据存储 [email protected]给浏览器带来了一个新的数据存储库。在浏览器中,目前所有的块和其他repo数据都存储在IndexedDB中,因为在编写时,这是唯一可用来持久化和查询大量用户数据的方式。 在node和go-ipfs中,LevelDB一直是应用数据的首选数据存储体(虽然块已经存储在文件系统中),而go-IPFS也在向Badger转移。 从此,接口数据存储库(interface-datastore)应运而生的一种存储键/值对的规范,由IPFS使用的数据存储库实现。在浏览器中,这是datastore级的,由level-js支持,而后由indexedDB支持。 为了去除一些层,官方创建了datastore-idb,它实现了接口-datastore规范,由IndexedDB支持,而不通过level。 这意味着什么? 新的datastore更小,速度更快,而且升级是无缝的,因为它的引擎盖下仍然是IndexedDB: 新功能 ? 可取消API调用 (#2993) (2B24F59),关闭#3015 ? ipfs.block.put现在接受pin参数,与go-ipfs #3015一致 fixed修正的错误 ? 修复了浏览器脚本标签示例 (#3034) (ee8b769), 关闭了#3027 ? 浏览器不再生成包含所有IPLD格式的浏览器软件包 (#3025) (e6079c1) ? typeof将超时传递给dag.get的错误(#3035)(026a542) ? 删除节点球体和内建插件的使用,为官方在浏览器绑定程序停止自动包含它们做好准备 #2932 —- 编译者/作者:银河存储池 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
[email protected]发布为IPFS提供更精简有效的数据存储
2020-05-26 银河存储池 来源:区块链网络
LOADING...
相关阅读:
- 比特币采矿:本周精选新闻2020-08-03
- Filecoin怎么解决数据合规的问题?2020-08-02
- 为什么您是骗局的理想目标,而对于黑客却是一个很差的目标?2020-08-02
- 黑莓VP:加密劫持攻击被大大低估了2020-08-02
- 新闻TRON,Cardano,IOST,Youtube和DEX暴跌11%后,比特币仍未恢复2020-08-02