【IPFS原力区技术周报】第十期 bitswap浅析

IPFS bitswap 操作1:Bitswap是什么?: BitSwap是基于BitTorrent的基础上实现的p2p数据交换协议。

2:Bitswap在IPFS中实现了什么功能?

一:以账本形式建立信用体系(IPFS暂未启用)

二:维护have_List,want_List

 

接下来将以指令为切入口学习以上功能。以及部分拓展。

1

ipfs bitswap ledger

用于显示指定节点的账本

本例中使用官方默认节点(QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ)查看。

【IPFS原力区技术周报】第十期 bitswap浅析

释义:

Ledger for <peer.ID cTrC1H>:这里佐证了之前文章中讲解过节点Hash与当前节点在P2P网络中的PeerID关系。此字段即显示,给定HashP2P网络中的PeerID

Debt ratio : 负债比例:每个节点根据和其他节点的收发数据,计算负债率。

计算公式: r = bytes_sent / (bytes_recv + 1)

同时节点可以根据负债率计算出来和这个节点的数据发送率(P

计算公式: P (send|r) = 1 1/(1+exp(63r))

Exchanges:数据交换大小。即在该节点进行的数据交换字节的记录,包括上传和下载。

Bytes sent:字面意思是发送字节,即表示在P2P网络中上传量。

Bytes received:接受字节:与上文相对应,即表示在P2P网络中的下载量。

小结:

从图中数据可以看出节点的各项数据皆为0,表示在IPFSbitswap 账本并未启用,根据filecoin白皮书披露,该技术将在filecoin中实装,具体将如何我们只能期待Filecoin的上线。

2

ipfs bitswap wantlist

显示需求列表中的块

这里先向大家解释一下have_List指当前节点拥有的数据,want_List指当前节点需要的数据。

操作如下:

在当前节点没有数据块请求时,使用ipfs bitswap wantlist指令打印数据为空,如图:

【IPFS原力区技术周报】第十期 bitswap浅析

这里为了演示使用Ipfs get 指令获取一个格式正确,但并不存在的文件Hash,如图:

【IPFS原力区技术周报】第十期 bitswap浅析

Ps:可使用任意格式正确Hash,这里仅为了演示,不推荐使用不存在的hash

此时再使用ipfs bitswap wantlist,将列举当前节点所有的数据块请求,如图:

【IPFS原力区技术周报】第十期 bitswap浅析

相信大家都会注意到,这里查询的都是当前节点,IPFS中同时提供查询其他节点的wantList指令,-p 指令后缀

当然,如果查询的节点没有数据块请求时打印数据自然为空,这里不再赘述。

ipfs bitswap wantlist -pQmSvbJVZ8ycvsn2htwUdfqk57m6KAeTFnrx2e3rAeokk95 可以查看对应节点的wantList,如下图:

【IPFS原力区技术周报】第十期 bitswap浅析

3

ipfs bitswap unwant

wantList中移除数据块:根据字面意思显而易见,当节点请求数据块时,havelist将会将请求的数据块加入list中,指令ipfs bitswap unwant则将某一个数据块删除。

 

4

ipfs bitswap stat

BITSWAP代理上显示诊断信息

【IPFS原力区技术周报】第十期 bitswap浅析

释义

provides buffer:缓冲区占用

blocks received:接受块数量

data received:接受数据字节大小

data sent:发送数据字节大小

dup blocks received:接收到的DUP块(DUP:重复数据)

dup data received:接收到的DUP数据

Wantlist:所需要的数据块List

Partners:已连接节点

5

ipfs bitswap reprovide

触发器将节点的数据重新发布到网络上

说到此处应该联系到之前文章,讲解add文件操作时将向已连接节点广播添加的文件hash

此指令即为:将本地所有的文件Hash向已连接节点广播。

 


  • 官网:http://ipfsforce.com
  • 公众号:IPFS原力区
  • 币快报社群:IPFS原力区
  • 微博:http://weibo.com/ipfsforce
IPFS原力区
IPFS原力区是全球第一大IPFS价值生态社区,总部位于上海,聚集了众多技术大咖和IPFS爱好者;IPFS原力区秉持:价值,共建,共赢,荣耀的文化理念;提供全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者。
未来,IPFS原力区做好价值文化基因传播、紧盯人工智能,量子计算,大数据等前沿科技,把IPFS区块链技术随时架设在最新的技术基础之上,推动IPFS生态的健康发展。

 

原创文章,作者:IPFSforce,如若转载,请注明出处:http://ipfser.org/2018/09/25/ipfsforcetenbitswap/

发表评论

登录后才能评论

评论列表(1条)

  • bruinxs 2018年10月26日 下午4:47

    这里的负债比例有什么作用呢,我看bitswap的实现好像没有校验负债比例,只是stat时显示用

联系我们

在线咨询:点击这里给我发消息

邮件:[email protected]

工作时间:周一至周五,9:30-18:30,节假日休息

QR code