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

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

TIA!

最佳答案

在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实现或通过与本地运行的ipfs守护程序的http api对话的 js-ipfs-http-client 来使用数据。
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中尚不直接可用。

10-08 15:35