IPFS具有一个pubsub模式,可以提供对等体的消息传输功能,基于此功能,我用java Swing编写了一个客户端。
客户端具有以下功能
- 上传文件到IPFS网络
- 和IPFS网络上其他客户端聊天
- 查看IPFS网络上的文件,并通过浏览器打开(MP3,MP4,图片等等)
用到IPFS的API
-
ipfs add - 添加文件或目录 :将
<path>
的内容添加到ipfs中。使用-r
来添加目录。目录内容的添加 是递归进行的,以便生成ipfs的默克尔DAG图。返回hash同时通过聊天发送到群聊天室。 -
ipfs get
将指定路径的IPFS/IPNS对象的数据下载到磁盘 -
ipfs block stat
用来提取IPFS裸块的信息,它在标准输出设备stdout 上输出 -
ipfs config
用来操控配置变量。它非常类似于git config
。配置值 保存在IPFS本地仓库中的配置文件。客户端头像,昵称等。 -
ipfs pubsub 用来发送和接收消息
-
ipfs bitswap wantlist 用来遍历统计get数据块数量
客户端技术
java swing +spring +mybatis+sqlite3
客户端截图
https://download.youkuaiyun.com/download/lanbery/10671156(客户端下载)
ipfs 启动
ipfs daemon --enable-pubsub-experiment
端口用默认:5001,8080,4001