IPFS技术进展:js-ipfs 0.44.0发布

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

亮点

可取消的请求和新的浏览器数据存储 [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

24小时热点

热点专题

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2397889

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2363077

嗨艺购

一个pi币现在值多少人民币?pi币2024年可以交易吗?

近年来,加密货币市场迅速发展,各种新型数字资产层出不穷。其中 ...

1625055

Alameda Research

USDT是什么币?新手如何购买和交易?

USDT是什么币?新手如何购买和交易?USDT是什么?USD ...

1301292

Cosmos Art

2024年pi币多少钱一个?介绍pi币历年价格

Pi币是一种新兴的数字货币,它的概念于2019年由一位斯坦福 ...

1287487

Alameda Research

CORE未来能涨到多少钱?core2024大约能涨到多少钱?

在数字货币市场中,CORE 作为一种加密货币,在过去的一段时 ...

878479

BitKeep钱包

欧科集团设立1000万元疫情防治专项基金 联合中华慈善总会共同支援一线防护工作

这个春节,新型冠状病毒疫情牵动着大家的心。1月26日0—24 ...

832338

TokenInsight

举报:PAXG币 (PAX Gold)涉嫌违法?

PAXG币(PAX Gold)是一种基于以太坊区块链网络创建 ...

780914

NewsBTC

什么是Polygon(Matic)网络?

由于网络拥堵仍然是以太坊区块链的一个问题,像Polygon这 ...

774002

树图链

ZT交易所介绍

ZT交易所介绍 ZT是为全球用户提供最优质数字资 ...

759409

ZT GLOBAL 交易所