我们正在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中尚不直接可用。