【问题标题】:Programmatically check data transfer on IPFS以编程方式检查 IPFS 上的数据传输
【发布时间】:2018-02-06 10:43:43
【问题描述】:

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

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

TIA!

【问题讨论】:

  • ipfs有一个通用的激励机制,就是同一个团队的filecoin。它不依赖于节点发送/接收的数据,而是依赖于保证数据被复制的复制证明。如果要检查 ipfs 发送/接收的数据,可以使用通用操作系统实用程序,如 nethogs (Linux)

标签: ipfs


【解决方案1】:

在 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-02-10
    • 2012-03-10
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多