js-libp2p 0.26.0上线

[复制链接]
7209 |0
发表于 2019-8-8 12:06:09 | 显示全部楼层 |阅读模式
Gossipsub支持和PromisifyAPI
亮点
Gossipsub
感谢Chainsafe的出色工作,让Gossipsub来到了这里!Gossipsub是一种比Floodsub更高效的pubsub路由器。它不向所有的对等点广播,而是向受控的对等点子集广播。要了解更多Gossipsub的工作原理以及它与Floodsub的不同之处,请查看规范。(本文由IPFS中国社区编译)
如果您正在使用Pubsub,现在可以切换到使用Gossipsub而不是Floodsub,Gossipsub将自动为不支持它的对等点回退到Floodsub。请参阅下面的API更改部分,了解如何将配置迁移到使用Gossipsub。
Promisify
当我们迁移到async/ wait时,我们承诺使用Libp2p公共方法。一些较低级别的库目前正在利用libp2p进行测试。通过宣传libp2p API,他们向完全异步/等待的过渡将有很大帮助。一旦async / await更改被传播,我们将在未来的更新中删除Promisify以及回调支持,因为那时libp2p将拥有完全的异步/等待支持。请参阅下面的API更改,以查看中断更改。
API的变化
突破性的变化

配置
开关选项
libp2p-switch的配置已经更改。blacklistTTL和blackListAttempts分别更改为denyTTL和denytry。你可以这样设置:
const libp2p = new Libp2p({
switch: {
denyTTL: 120e3,
denyAttempts: 5,
}
...
})
发布订阅
订阅:为了符合pubsub接口,libp2p.pubsub.subscribe已经重新排列了params的顺序。他们以前是topic, options, handler, callback,现在topic, handler, options, callback。如果您没有使用options,您应该可以忽略此更改。
配置:Pubsub以前是通过实验配置启用的。现在必须指定pubsub实现(Gossipsub或Floodsub),并通过它自己的配置启用/禁用它。设置pubsub将自动启用它。您可以通过在配置中显式设置enabled为false来禁用它。
const libp2p = new Libp2p({
modules: {
pubsub: require('libp2p-gossipsub'),
...
},
config: {
pubsub: {
enabled: true
},
...
}
...
})
Promisify
所有libp2p公共方法都已承诺,因此可以省略回调,支持基于承诺的使用,包括async/ wait。例如,start可以用作:
libp2p.start(onStart)
// or
await libp2p.start()
Gossipsub
Gossipsub集成到现有的libp2p中。pubsub API。一旦Gossipsub被提供为您的pubsub实现,您将能够像以前使用Floodsub一样使用它。有关pubsub配置更改,请参阅上面的小节。
非常感谢大家让这个版本成为可能
按字母顺序排列,以下是为这个版本做出了429次贡献的38位贡献者名单:
Abraham Elmahrek (1 PR, 1 issue, 2 comments)
Alan Shaw (1 PR, 6 reviews, 5 comments)
Alex Potsides (1 PR, 1 review)
Cayman (4 PRs, 2 issues, 26 reviews, 10 comments)
Cody Eilar (2 issues, 4 comments)
David Dias (6 issues, 8 comments)
dirkmc (4 reviews, 1 comment)
Filip Š (1 PR, 1 comment)
Gregory Markou (4 PRs, 18 reviews, 17 comments)
hapsody (1 comment)
Henrique Dias (1 issue, 1 comment)
Hugo Dias (1 review)
Isaac Jacobs (1 issue, 7 comments)
Jacob Heun (14 PRs, 3 issues, 31 reviews, 37 comments)
Jakub (1 PR)
John_Suu (2 comments)
Jorropo (2 PRs)
Justin Maier (1 comment)
kumavis (1 review)
laubsauger (1 issue)
Maciej Krüger (2 PRs, 1 issue, 2 reviews, 20 comments)
Marcin Rataj (1 review)
Marin Petrunić (1 issue, 5 reviews, 1 comment)
Michael FIG (1 PR)
Michiel De Backker (1 comment)
Mikeal Rogers (1 comment)
Mikerah (2 PRs, 7 reviews, 18 comments)
Nate Foss (1 PR, 1 issue, 2 comments)
ohager (2 comments)
Pat White (1 comment)
Qmstream (2 PRs, 2 comments)
Raúl Kripalani (1 comment)
Richard Schneider (1 comment)
Saquib ul hassan (1 issue, 1 comment)
Steven Allen (1 PR)
Tapasweni Pathak (1 PR, 1 comment)
Vasco Santos (17 PRs, 4 issues, 59 reviews, 36 comments)
zthomas (1 issue)
你也想做贡献吗
您是否愿意为libp2p项目做贡献却不知道如何做?你可以从以下几个地方开始:
使用libp2p repo中的help wanted标签检查问题;
加入IPFS All Hands,介绍您自己,并让我们知道您想在哪里做出贡献—https://github.com/ipfs/teammgmt # All-Hands-call;
测验IPFS,让我们看看你做了什么!All Hands call也是演示的完美场所,加入并向我们展示您能构建什么。
加入到http://discuss.libp2p的讨论中。并帮助用户找到他们的答案。
加入Libp2p团队同步和Sprint的一部分行动!
你有问题吗
关于libp2p、它是如何工作的以及如何使用它,最好的提问地点是discussion .libp2p.io。我们也可以在Freenode上的#libp2p频道上找到。

作者:Jacob Heun
本文由IPFS中国社区编译,原文链接:https://blog.ipfs.io/2019-08-07-js-libp2p-0-26/

smhyff0s5uq.jpg

smhyff0s5uq.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表