
libp2p
文章平均质量分 63
macrocan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go libp2p kad record详解
go libp2p kad的value可用于存放任意数据,目前kad默认在value中存放了ipns和pk这两种数据(pk也是为ipns服务的,详情请阅读我的另一篇博文《ipns实现机制解读》)。RecordRecord proto:// Record represents a dht record that contains a value// for a key value pairtype Record struct { // The key that references this re原创 2021-04-07 15:33:57 · 436 阅读 · 0 评论 -
libp2p-rs kad使用及调试方法
前言本文以kad-simple.rs为例,讨论如何在libp2p-rs使用kad。使用kadstep1: 创建swarm let sec = secio::Config::new(keys.clone()); let mux = yamux::Config::new(); let tu = TransportUpgrade::new(TcpConfig::default(), mux, sec); let mut swarm = Swarm::new(keys.public())原创 2021-01-13 17:04:52 · 658 阅读 · 0 评论 -
libp2p-rs v0.2.0发布
前言经过2个多月的开发,我们很高兴地宣布:libp2p-rs v0.2发布啦!!!v0.2主要新增Kad-DHT,这意味着现在libp2p-rs已经实现了routing host,使用者可以通过Kad-DHT查找网络中的节点,provider和value。为了更好地支持Kad-DHT,发挥libp2p-rs节点的效能,我们对swarm和tcp transport等模块进行了大量的优化。新增Kad-DHT1,引入beta值,作为迭代查询的结束条件2,迭代查询超时机制3,定时刷新路由表的机制4原创 2021-01-13 15:51:25 · 214 阅读 · 0 评论 -
在libp2p-rs上开发新协议
以floodsub为例原创 2020-11-13 16:07:09 · 316 阅读 · 0 评论 -
libp2p kad 迭代查询
描述迭代查询是libp2p kad中的关键部分,kad通过迭代查询不断逼近目标,这个目标可能是peer,可能是provider,也有可能是value。过程选取K桶中距离key最近的(最多)K个节点,将这些节点的状态置为Heard;向它们发起(并行)查询(发送FIND_NODE, GET_PROVIDERS或者GET_VALUE request),得到它们K桶中距离key最近的K个节点信息,将新得到的节点状态置为Heard,并且收集起来;判断结束条件(如下),满足其中之一即可结束;否则在所有状态为原创 2021-01-12 17:01:59 · 301 阅读 · 0 评论 -
go libp2p kad dht
alpha: 同一时间最多只能向alpha个节点查询。现值为10beta: 迭代查询结束条件,所有非unreachable的节点按照距离排序后,前beta个节点全部都查询过即可结束。现值为3K(bucketSize): 查询开始时,从K桶中选取最多K个节点。迭代查询结束后,所有非unreachable的节点按照距离排序,向前K个节点中未查询或者正在查询的节点发起查询。现值为20...原创 2020-12-10 17:40:18 · 777 阅读 · 0 评论 -
go libp2p listen
Listener interface// A Listener is a generic network listener for stream-oriented protocols.// it uses an embedded net.Listener, overriding net.Listener.Accept to// return a Conn and providing Multiaddr.type Listener interface { // Accept waits for an原创 2020-07-22 15:07:07 · 482 阅读 · 0 评论 -
从bitswap学习使用libp2p
代码版本:go-bitswap@v0.1.11前言bitswapNetwork是bitswap的网络接口,负责bitswap的网络通信和dht调用,从bitswapNetwork可以知道bitswap是如何使用libp2p的。阅读本文,最好看过bitswap的代码以及了解libp2p中host、swarm、conn和stream的基础知识。如果没看过代码,那么看看主干,也能学到如何使用lib...原创 2020-03-09 18:35:23 · 1354 阅读 · 0 评论 -
go libp2p dht流程解读
运行环境版本:go-ipfs@v0.4.23 go-libp2p-kad-dht@v0.0.15本文运行两个节点,一个在ubuntu,另外一个在windows,下文用ipfs1代表ubuntu端的ipfs,用ipfs2代表windows端的ipfs。两个节点将彼此的地址添加到彼此的bootstrap中,形成由2个节点组成的测试网。两者的peerID分别为:ipfs1: QmdvR13vcQ...原创 2020-03-02 09:43:34 · 4019 阅读 · 3 评论