摘要:消息的发送者不直接将消息发送给接收者。功能目前还属于的一个实验性质的功能,如果要开启功能,在启动的时候需要指定参数。实际上,功能不仅仅之只限于两个直连的节点之间,还可以通过中间节点进行中转。目前上有两个标杆应用是基于功能进行搭建的。
作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者什么是 pubsub?毕业于北京大学软件与微电子学院,资深区块链技术开发者,现致力于IPFS/Filecoin在中国的技术推广,本文原载微信公众号:IPFS指南(ipfs_guide)
发布订阅模式(Publish–subscribe pattern),最早是由苹果公司在 Mac OS 引入。
消息的发送者(publishers)不直接将消息发送给接收者(subscriber)。而是将消息分门别类,发送者并不知道也无需知道接收者的存在。而接收者只需要订阅一个或者多个类别的消息类,只接收感兴趣的消息,不知道也无需知道发布者的存在。(https://en.wikipedia.org/wiki...)
写代码的朋友对于观察者模式(Observer)并不陌生。这个有些类似软件设计模式里面的观察者模式(Observer)。但是并不完全相同。pubsub比Observer更加的松耦合。这里不再详细对比二者的区别。有兴趣的朋友自行Google一下。
pubsub功能目前还属于ipfs的一个实验性质的功能,如果要开启pubsub功能,在启动ipfs daempon的时候需要指定参数: --enable-pubsub-experiment。
下面我们使用具体例子来说明ipfs pubsub 如何使用?
1. 搭建两个IPFS节点A和B如果还不知道节点如何搭建,参见之前的文章[《如何在IPFS网络里面上传一张图片》]()。
A(小编本地节点):
IPFS节点ID: QmTrRNgt6M9syRq8ZqM4o92Fgh6avK8v862n2QZLyDPywYIPFS地址:192.168.162.129(保护隐私,没有使用公网IP)
B(亚马逊aws):
IPFS地址:13.231.198.1542. 启动节点BIPFS节点地址; /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h6Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK
ipfs daemon --enable-pubsub-experiment
(注意这里需要使用参数 --enable-pubsub-experiment)
删除节点A的全部bootstrap地址
ipfs bootstrap rm all
在A节点添加B节点为bootstrap节点
ipfs bootstrap add /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h6Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK
4. 启动节点Aipfs daemon --enable-pubsub-experiment
(注意这里需要使用参数 --enable-pubsub-experiment)
5. pubsub功能使用在A节点上新开一个命令行,执行
ipfs pubsub sub flytofuture
这句的意思是我们在节点A订阅了消息主题:flytofuture。凡是发往这个消息主题的消息都会被A节点接收到。
我们在B节点对消息主题 flytofuture发送消息
ipfs pubsub pub flytofuture "hello, IPFS指南,飞向未来!"
这个时候我们就可以在A节点的命令行看到消息输出:hello, IPFS指南,飞向未来!
两个跨越了不同网络,不同地域的IPFS节点进行pubsub功能的通信。
实际上,pubsub功能不仅仅之只限于两个直连的节点之间,还可以通过中间节点进行中转。
例如:有A,B,C三个节点,A链接到B,B连接到C,A与C并不直接连接。那么A仍然可以订阅收到来自于C的消息。这对于一些复杂的网络环境里面非常有用,比如在一些NAT不太友好的网络环境。
pubsub相关的命令使用和功能pubsub相关的命令使用:
ipfs pubsub ls -- 列出来本节点订阅的全部主题
ipfs pubsub peers -- 列出来与本节点相连接的开通pubsub功能的节点
ipfs pubsub pub -- 发布数据到相应的主题
ipfs pubsub sub -- 订阅主题
pubsub功能有很多用途,广大开发者可以开脑洞基于这样的功能构建出来自己的应用。
目前IPFS上有两个标杆应用是基于pubsub功能进行搭建的。
orbit-db: 分布式数据库
Orbit: 点对点的聊天工具
[ 【董天一】如何在IPFS网络里面上传一张图片]()
圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 在各大平台都长期有优质免费公开课,欢迎报名收看。
公开课地址:https://ke.qq.com/course/345101
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24446.html
摘要:作者简介董天一,中国区技术布道人,指南作者。什么是星际文件系统。相关文章和视频推荐董天一什么是二董天一什么是三圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者。毕业于北京大学软件与微电子学院曾担任甲骨文亚洲研发中心(中国)数据库开发工程师资深区块链技术开发者,现致力于IPFS/Filecoi...
摘要:作者简介董天一中国区技术布道人指南作者。目前网络上有一些对的解读五花八门,各式各样,有看好的,也有打击的,总之一项新技术诞生之初遇到的问题都遇到了。问题文件丢失认为系统不可靠,会造成用户文件的丢失。 作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者。毕业于北京大学软件与微电子学院曾担任甲骨文亚洲研发中心(中国)数据库开发工程师。 资深区块链技术开发...
摘要:作者简介董天一,中国区技术布道人,指南作者。相关文章和视频推荐董天一什么是二圆方圆学院汇集大批区块链名师,打造精品的区块链技术课程。 作者简介:董天一,IPFS/Filecoin中国区技术布道人,《IPFS指南》作者。毕业于北京大学软件与微电子学院曾担任甲骨文亚洲研发中心(中国)数据库开发工程师资深区块链技术开发者,现致力于IPFS/Filecoin在中国的技术推广。 前两篇介绍了IP...
摘要:之前有好几人问过小编,想在里面上传一张图片。如何做今天小编就讲一下如何在里面上传下载文件。这个时候你可以在浏览器里面输入你的哈希值就可以看到你的文件了,比如,这个小编刚才上传的文件。 作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者。毕业于北京大学软件与微电子学院曾担任甲骨文亚洲研发中心(中国)数据库开发工程师。资深区块链技术开发者,现致力于IPF...
摘要:作者简介董天一,中国区技术布道人,指南作者。由于每个文件的哈希值全网唯一,查询将很容易进行。如果仅仅使用哈希值来区分文件的话,会给传播造成困难,因为哈希值不容易记忆,就像地址一样不容易记忆,于是人类发明的域名。 作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者。毕业于北京大学软件与微电子学院曾担任甲骨文亚洲研发中心(中国)数据库开发工程师资深区块链...
阅读 2884·2023-04-26 01:32
阅读 1484·2021-09-13 10:37
阅读 2228·2019-08-30 15:56
阅读 1643·2019-08-30 14:00
阅读 2998·2019-08-30 12:44
阅读 1928·2019-08-26 12:20
阅读 980·2019-08-23 16:29
阅读 3171·2019-08-23 14:44