7

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

是否有标准模式或服务能够做到这一点?

蒂亚!

4

1 回答 1

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 实现js-ipfs或通过与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 中还不能直接使用。

于 2019-06-10T17:30:15.113 回答