以编程方式检查IPFS上的数据传输

时间:2018-02-06 10:43:44

标签: ipfs

我们正在Electron上构建一个桌面应用程序,以便在IPFS上共享媒体。我们希望激励那些通过IPFS添加或引脚向其他用户提供数据并实际上正在“播种”数据的人。我们希望以编程方式定期跟踪每个用户发送和接收的数据量。

是否有标准模式或服务可以执行此操作?

TIA!

1 个答案:

答案 0 :(得分:2)

在CLI上,您可以使用ipfs stats bw -p <peer id>命令查看节点与您传入的对等ID之间发送和接收的总字节数。

$ ipfs stats bw -p  QmeMKDA6HbDD8Bwb4WoAQ7s9oKZTBpy55YFKG1RSHnBz6a
Bandwidth
TotalIn: 875 B
TotalOut: 14 kB
RateIn: 0 B/s
RateOut: 0 B/s

请参阅:https://docs.ipfs.io/reference/api/cli/#ipfs-stats-bw

您可以使用ipfs.stats.bw方法以编程方式从IPFS js-ipfs的js实现或通过js-ipfs-http-client与本地运行的ipfs守护程序的http api进行通信来获取数据。

ipfs.stats.bw将显示对等方之间的所有流量,其中可能包括dht查询和与共享数据块没有直接关系的其他流量。

如果只想共享数据块上的信息,则可以从命令行使用ipfs bitswap ledger

$ ipfs bitswap ledger QmeMKDA6HbDD8Bwb4WoAQ7s9oKZTBpy55YFKG1RSHnBz6a
Ledger for QmeMKDA6HbDD8Bwb4WoAQ7s9oKZTBpy55YFKG1RSHnBz6a
Debt ratio: 0.000000
Exchanges:  0
Bytes sent: 0
Bytes received: 0

请参阅:https://docs.ipfs.io/reference/api/cli/#ipfs-bitswap-ledger

该api尚未在js-ipfs或js-http-api-client中直接可用。