IPFS js-是否可以知道哪些对等方持有哪些数据?

时间:2020-11-10 21:20:08

标签: ipfs

我在https://js.ipfs.io/中有以下代码段:

const node = await IPFS.create()

const stream = node.cat('QmPChd2hVbrJ6bfo3WBcTW4iZnpHm8TEzWkLHmLpXhF68A')
let data = ''

for await (const chunk of stream) {
  // chunks of data are returned as a Buffer, convert it back to a string
  data += chunk.toString()
}

console.log(data)

它可以正常打印,并且可以显示数据。

我的问题:

  • 与散列相对应的数据到底存储在哪里?是否可能知道哪些对等方正在存储此数据?

  • 如果我想更改数据会怎样?我每次都必须生成一个新的哈希吗?

1 个答案:

答案 0 :(得分:0)

如果您的节点具有数据副本,则将其存储在本地repo中。

如果没有,它将使用bitswap尝试从连接的对等方获取它。

您可以通过使用ipfs.dht.findProvs查询DHT来找出哪些对等方拥有数据。

'QmPCh ..'字符串是content identifier,因此,如果数据更改,则哈希值也将更改。