感谢ChainSafe团队的出色工作,Gossipsub就在这里!Gossipsub是一个比Floodsub更高效的pubsub路由器。
Gossipsub支持和Promisify API
亮点
Gossipsub
感谢ChainSafe团队的出色工作,Gossipsub就在这里!Gossipsub是一个比Floodsub更高效的pubsub路由器。广播到其所有对等体的广播,它广播到受控的对等体子集。要了解有关Gossipsub如何工作以及它与Floodsub的不同之处的更多信息,请查看规范。
如果您使用的是Pubsub,现在可以切换到使用Gossipsub而不是Floodsub。有老同行你需要淹没的东西?别担心,Gossipsub将自动回退到不支持它的同行的Floodsub。请参阅下面的API更改部分,了解如何将配置迁移到使用Gossipsub。
Promisify
当我们迁移到async / await时,我们正在宣传Libp2p的公共方法。目前,几个较低级别的库正在利用libp2p进行测试。通过宣传libp2p API,他们向完全异步/等待的过渡将有很大帮助。一旦async / await更改被传播,我们将在未来的更新中删除Promisify以及回调支持,因为libp2p将在那时具有完整的异步/等待支持。请参阅下面的API更改以查看重大更改。
API更改
突破性的变化
组态
切换选项
libp2p-switch的配置已更改。blacklistTTL和blackListAttempts分别更改为denyTTL和denyAttempts。您可以按如下方式设置:
const libp2p = new Libp2p({switch:{denyTTL:120e3,denyAttempts:5,} ...})
发布订阅
订阅:为符合pubsub接口,libp2p.pubsub.subscribe的params顺序已重新排序。它们以前是主题,选项,处理程序,回调,现在是主题,处理程序,选项,回调。如果您的实现不使用选项,您应该可以忽略此更改。
配置:Pubsub以前是通过EXPERIMENTALconfig启用的。您现在必须指定pubsub实现(Gossipsub或Floodsub),并通过它自己的配置启用/禁用它。设置pubsub将自动启用它。您可以通过在配置中显式设置enabled为false来禁用它。
const libp2p = new Libp2p({modules:{pubsub:require('libp2p-gossipsub'),...},config:{pubsub:{enabled:true},...} ...})
Promisify
所有libp2p公共方法都已被实现,因此可以省略回调以支持基于promise的使用,包括async / await。例如,start可以用作:
libp2p.start(onStart)//或等待libp2p.start()
Gossipsub
Gossipsub已集成到现有的libp2p.pubsub API中。一旦Gossipsub作为pubsub实现提供,您就可以像之前使用的Floodsub一样使用它。有关pubsub配置更改,请参阅上面的部分。
️非常感谢所有使这个版本成为可能的人
按字母顺序排列,这里有38个人为这个版本贡献了429个贡献:
-
Abraham Elmahrek(1 PR,1期,2评论)
-
Alan Shaw(1条评论,6评论,5条评论)
-
Alex Potsides(1条评论,1评论)
-
Cayman(4个PR,2个问题,26评论,10条评论)
-
Cody Eilar(2期,4评论)
-
David Dias(6期,8条评论)
-
dirkmc(4条点评,1条点评)
-
FilipŠ(1 PR,1评论)
-
Gregory Markou(4条评论,18评论,17条评论)
-
hapsody(1条评论)
-
Henrique Dias(1期,1评论)
-
Hugo Dias(1条评论)
-
Isaac Jacobs(1期,7评论)
-
Jacob Heun(14个PR,3个问题,31评论,37条评论)
-
雅各布(1 PR)
-
John_Suu(2条评论)
-
Jorropo(2 PRs)
-
贾斯汀迈尔(1条评论)
-
kumavis(1条评论)
-
laubsauger(1期)
-
MaciejKrüger(2个PR,1期,2评论,20评论)
-
Marcin Rataj(1条评论)
-
MarinPetrunić(1个专家,5条评论,1个评论)
-
Michael FIG(1 PR)
-
Michiel De Backker(1条评论)
-
迈克尔罗杰斯(1条评论)
-
Mikerah(2条评论信息,7评论,18条评论)
-
Nate Foss(1 PR,1期,2评论)
-
ohager(2条评论)
-
帕特怀特(1评论)
-
Qmstream(2个PR,2个评论)
-
劳尔·克里帕拉尼(1评论)
-
理查德施耐德(1评论)
-
Saquib ul hassan(1期,1评论)
-
史蒂芬艾伦(1 PR)
-
Tapasweni Pathak(1条评论,1条评论)
-
Vasco Santos(17个PR,4个问题,59评论,36条评论)
-
zthomas(1期)
想要贡献?
你想为libp2p项目做贡献而不知道怎么做?好吧,有几个地方你可以开始:
-
检查libp2p repo中需要帮助标签的问题
-
加入IPFS All Hands,自我介绍并告诉我们您想要贡献的地方 - https://github.com/ipfs/team-mgmt#all-hands-call
-
用IPFS攻击并告诉我们你做了什么!All Hands电话也是演示的完美场所,加入并向我们展示您的建设
-
加入http://discuss.libp2p.io/的讨论,帮助用户找到答案。
-
加入️Libp2p团队同步并成为Sprint行动的一部分!
你有问题吗?
关于libp2p的问题,它是如何工作以及你可以用它做什么的最好的地方是discuss.libp2p.io。我们也可以在Freenode的#libp2p频道上找到。
文章来源于网络,如有侵权请联系我们删除。
原文链接:https://blog.ipfs.io/2019-08-07-js-libp2p-0-26/
注:本文不作为投资理财建议,投资有风险,入市需谨慎。
来源:全球币码翁区块链研究院
本期编辑:Alice
声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。