区块链技术指南 | libp2p 简介
来源:
互联网时间:2019-06-14 18:52:00
Libp2p 是 IPFS 和 Filecoin 的基础设施,也是未来所有P2P和区块链、物联网的基础设施。
Libp2p 是一个 P2P 的网络,分为网络层、路由层、交换层。
libp2p是一套点对点的协议来发现节点,并连接他们,发现内容,并转移它们。
使用 libp2p 的一个节点可以与另一个节点进行通信,能够使用各种不同的传输方式,这些传输方式包括连接延迟,以及通过不同协议进行通信,并根据需求进行协商。libp2p 模块在 IPFS 中主要负责数据的传递功能,即路由、网络、交换等。
libp2p汇集了各种传输和点对点协议,使开发人员可以轻松构建大型,强大的p2p网络。
1、Libp2p 流程
- 运行 Libp2p 协议的节点在初始化之后需要通过各种方式发现更多的节点,比如
Bootstrap list
、mDNS
、DHT
等,这主要由发现模块负责与实现。 - 当发现更多接点后,Libp2p 会把这些获取到的节点信息存储在分布式记录存储模块中,供以后方便使用。
- 当上层应用需要连接某个节点时,节点路由模块会找到多条不同的路径,连接管理模块会对这些路径进行尝试连接。
- 连接成功之后,上层应用将通过内容路由模块与连接节点进行内容交互,在底层通过传输模块互相传递数据。
- 地址解析
- 传输协议适配
- 双方协商连接建立之后,libp2p 会首先进行双方协商,确定对方支持哪些功能。负责协商功能的是
identify 协议
,它是内置在 libp2p 的基础协议,能够交换节点的公钥、本地监听地址等。协商完成后,连接两端的节点会找到共同支持的协议,并且初始化它们。初始化时会注册每种协议的handler(回调函数)
,当有协议数据到达时,相应的handler
就会被调用。由于多种传输协议会复用同一个底层连接,所以连接会被拆分成多个“流(Stream)”。
免责声明:
1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。
2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。
- 贝佐斯最后一封股东信:宇宙希望你成为普通人,千万别让它成为现实2021-04-19 17:02
- Props,让互联网与区块链无缝对接的「中间件」2021-04-19 17:02
- Coinbase高管到底卖了多少股票?2021-04-19 16:03
- 通往未来之路:下一代互联网与Metaverse2021-04-19 16:03
- 央行前行长周小川谈比特币:要提醒,要小心2021-04-19 15:03
- 链上新知 |电子图片卖出7000万美金,让马斯克都来站台的NFT究竟是什么?2021-04-19 15:02
- Crypto VC,LP怎么投?2021-04-19 13:03
- 周末比特币融资利率跌至-0.03%低点,为7个月以来最低水平2021-04-19 11:02