使用js-ipfs库,我很难找到关于以下命令之间区别的好信息:
> await ipfs.add('hello world',{cidVersion:1})
{
path: 'bafkreifzjut3te2nhyekklss27nh3k72ysco7y32koao5eei66wof36n5e',
cid: CID(bafkreifzjut3te2nhyekklss27nh3k72ysco7y32koao5eei66wof36n5e),
size: 11,
mode: undefined,
mtime: undefined
}
> await ipfs.dag.put('hello world')
CID(bafyreifg3qptriirganaf6ggmbdhclgzz7gncundvtsyrovyzqigm25jfe)我的期望是:CID将是相同的。
会很感激你的指点。
发布于 2022-09-01 23:51:38
下面是基于ipfs add和来自久保RPC的dag put,但是JS是基于它的,并且很可能会做一些类似的事情(可能唯一的区别是,Kubo中的dag put在默认情况下期望/需要dag)。
ipfs add用于添加文件和目录,并将它们表示为UnixFS。它会将较大的文件分块到较小的块中,并将它们表示为达格-铅或原始字节(叶)。ipfs dag put允许您对文件和目录以外的IPLD数据结构进行操作。在Kubo中,此命令将假设输入为达吉森,并将其存储为二进制达格库尔。您可以在https://cid.ipfs.tech中比较生成的CIDs在您的示例中:
ipfs add创建了原始块(因为'hello world‘适合于一个块,而不需要dag)ipfs dag创建了dag(因为这是默认的--store-codec)。https://stackoverflow.com/questions/71679986
复制相似问题