LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > IPFS技术进展:js-ipfs0.44.0发布

IPFS技术进展:js-ipfs0.44.0发布

2020-05-25 FilCloud 来源:区块链网络

亮点

可取消的请求和新的浏览器数据存储

[email protected]已经推出,支持取消请求,为浏览器提供更精简、更有效的数据存储!

可取消的请求

用户应该能够取消长期存在的异步 API 操作。例如,如果您要从网络中获取 CID 的内容,并且该 CID 无法解析,则您应该能够为请求设置超时值,此后将不再寻找该内容并返回控制权错误代码,描述发生了什么。

这并不像JavaScript中那样简单明了,因为从API调用返回了一个Promise来解析一段内容,并且Promises规范不包含任何有关取消Promise的内容。

但是,浏览器访存 API 具有 AbortSignal 的概念,可用于中止 Web 请求。它们通过 AbortController 进行交互:

我们采用了这种方法并将其集成到每个 API 调用中,因此您现在可以使用 AbortControllers 取消请求!我们还使用了这种机制来timeout为每个 API 调用添加一个选项,该 API 内部使用 AbortSignal 来停止请求,并在指定的时间后抛出 TimeoutError:

您也可以自己滚动:

AbortSignal 一直从调用堆栈一直传递到支持 IPFS 的 libp2p 和 ipld 组件。在此初始发行版中,IPFS 层支持超时,而在以后的发行版中,libp2p 和 ipld 还将使用 AbortSignal 释放资源,并执行任何其他必要的清理,如果请求成功完成,则会执行这些清理。

新的浏览器数据存储

[email protected]将新的数据存储区带到浏览器。在浏览器中,所有块和其他回购数据当前都存储在IndexedDB中,因为这是在写入时持久和查询大量用户数据的唯一方法。

在 node 和 go-ipfs 中,LevelDB 一直是应用程序数据的首选数据存储(尽管块已存储在文件系统中),并且 go-IPFS 移至 Badger。

在这个扩展的接口数据存储中,这是一种用于存储由 IPFS 使用的数据存储实现的键/值对的规范。在浏览器中,这是由 level-js 支持的数据存储级别,而后者由 IndexedDB 支持。

为了在此处删除几层,我们创建了 datastore-idb 来实现接口数据存储规范,该规范由 IndexedDB 支持,而无需经过级别。

这是什么意思?

新的数据存储区更小,更快,并且升级是无缝的,因为它仍然处于 IndexedDB 的幕后:

新功能

可取消的 API 调用(#2993)(2b24f59),关闭#3015

ipfs.block.put现在接受pin符合 go-ipfs#3015 的参数

修正错误

修复浏览器脚本标签示例(#3034)(ee8b769),关闭#3027

不再在浏览器中生成具有所有 IPLD 格式的浏览器捆绑包(#3025)(e6079c1)

typeof 将超时传递给 dag.get 的错误(#3035)(026a542)

删除对节点全局变量和内置插件的使用,以为我们为浏览器捆绑程序自动停止包含它们 而做的准备#2932

源地图不再包含在生产版本ipfs / aegir#549中

接下来是什么?

查看 js-ipfs 项目路线图,其中包含按我们希望其着陆顺序排列的标题功能。

路线图中只标注了较大的功能,期望在路线图项目之间发布许多小的错误修正!

非常感谢所有能够发布此版本的人

@ 5310(2条评论)

@achingbrain(55次提交,17个PR,3个问题,33条评论)

@alanshaw(1问题,3评论)

@aphelionz(2条评论)

@AuHau(1条评论)

@autonome(1条评论)

@bertrandfalguiere(1条评论)

@betamos(1个PR,1个问题,7条评论)

@bluelovers(1 PR,1条评论)

@carsonfarmer(1次提交)

@ codecov-io(1条评论)

@corporatepiyush(1期)

@dapplion(2条评论)

@dirkmc(2次提交)

@Gozala(5个问题,15条评论)

@hugomrdias(11提交,4 PR,1问题,17评论)

@jacobheun(8提交,2 PR,1问题,8评论)

@jakehemmerle(3条评论)

@koivunej(1条评论)

@lidel(1次提交,2条评论)

@mdtanrikulu(1问题,1条评论)

@mistakia(1个公关)

@npfoss(1次提交,1个PR,1个问题)

@ obo20(1次提交,1个PR,1条评论)

@oed(1条评论)

@RobertFischer(1条评论)

@robertkiel(1条评论)

@rvagg(1个PR,1条评论)

@ spasimir21(1问题,3评论)

@stensonb(1次提交,13个PR)

@thattommyhall(1 PR,3条评论)

@ typhu-xyz(1条评论)

@ vasco-santos(14次提交,15个PR,2个问题,16条评论)

@vmx(5提交,1 PR,2评论)

@welcome(19条评论)

@wemeetagain(2次提交,1个PR,3条评论)

参与贡献

您想为IPFS项目做贡献,又不知道如何做吗?好吧,有几个地方可以开始使用:

检查 js-ipfs 存储库中help wanted标签的问题

加入 IPFS 的“全力以赴”,自我介绍,并让我们知道您想在哪里做出贡献: https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands

破解 IPFS,向我们展示您的成就!All Hands 呼叫也是进行演示的理想场所,请加入并向我们展示您创建的内容

通过 https://discuss.ipfs.io/ 加入讨论,并帮助用户找到答案。

加入 IPFS 核心实施每周同步,并参与其中!

你有问题吗?

最好的地方要问你关于IPFS的问题,它是如何工作的,以及你可以用它做的是在 discuss.ipfs.io。我们也可以在#ipfs Freenode 上的频道上找到。

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用

公众号:filcloud

—-

编译者/作者:FilCloud

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...