Документация js-ipfs
содержит код для размещения и получения блоков, которые прекрасно работают. Например,
let cid = null;
ipfs.block.put(Buffer.from("hello"), (err, block) => {
cid = block.cid; // <- store it
console.log(cid.toBaseEncodedString());
})
Когда блок считывается обратно, например:
ipfs.block.get(cid, function (err, block) {
const content = block.data
// how to recompute the block's cid from its content
// so that we can validate that it matches our cid?
})
Блок ipfs, похоже, имеет только методы get, put и stat без метода для вычисления или проверки cid
из его содержимого после извлечения.
Вопрос:
- Как убедиться, что блок, полученный из
ipfs.block.get()
, действителен (т.е. соответствует запрошенному cid )?
Способ ipfs.block.get()
автоматически проверяет содержимое перед его возвратом вызывающей стороне в обратном вызове?