Gossipsub支持和Promisify API
亮點
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/
什麼是IPFS?
IPFS是一個分布式的存儲項目,與激勵層Filecoin形成了一個有效的市場閉環,構建出一個去中心化存儲網絡系統。
Filecoin是2017年最大的私募項目,短短時間募集了2.57億美元。
目前期貨價格約45.5元左右,按照20億枚Token計算,未上線已市值910億人民幣。
我們是IPFS中國社區,垂直專注於IPFS領域,努力提供客觀的、第三方的IPFS、Filecoin、挖礦等最新資訊,共同推進IPFS相關應用的發展,建立一個良好的IPFS生態圈。
丨熱門閱讀