ipfs - 同一文件的 CID 是否不同,但由 IPFS 中的 2 个用户上传?

标签 ipfs

如果两个用户在完全相同的时间从同一内部网络上的两个终端设备(例如,同一办公室共享互联网链接)将同一个文件上传到 IPFS,这两个文件的 CID 是否不同?如果 CID 不同,那么有什么不同呢?

最佳答案

文件上传到 IPFS 的时间不会影响 CID原来是。只要用户上传的是完全相同的文件(即文件没有一个不同的字节),那么两个用户添加文件产生的 CID 将是相同的,前提是用户使用相同的将该文件添加到 IPFS 时的设置。

您可以获得相同内容的不同 CID,但这取决于 Multihash使用的,以及您使用的 CID 版本。例如,如果您使用 CIDv1 和 sha2-256 添加一个文件,而我使用 CIDv0 和 sha3-512 添加同一文件,则生成的 CID 将完全不同。现在,如果我还使用 CIDV1 和 sha2-256 添加相同的文件,则生成的 CID 将相同。此外,如果用户添加相同的内容,但使用不同的分块参数,则生成的 CID 也会不同。

现在我将展示一些使用 ipfs add 的例子。在同一个文件“cat.jpg”上

ipfs add --cid-version 1 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu


ipfs add --cid-version 0 cat.jpg
QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v

现在您还可以尝试调整多哈希:
ipfs add --cid-version 1 --hash sha2-256 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu


ipfs add --cid-version 1 --hash sha3-512 cat.jpg
bafkriqcr4cvbwfxzjp4thqp5n35klda6vpukgae5drqjn6yatg5lj5jnw2phcozcibephttjhob3fkhi3zgklqn2tiemkjrgkntkishw2bl2i

最后让我们尝试一个不同的块大小
ipfs add --cid-version 1 --chunker=size-1 cat.jpg
bafybeigmitjgwhpx2vgrzp7knbqdu2ju5ytyibfybll7tfb7eqjqujtd3y cat.jpg


ipfs add --cid-version 1 --chunker=size-2 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu cat.jpg

关于ipfs - 同一文件的 CID 是否不同,但由 IPFS 中的 2 个用户上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59183147/

相关文章:

sbt - sbt 的 IPFS 解析器

javascript - 无法在 React js 中加载 PDF 文件

python - 将目录上传到 pinata ipfs API

ipfs - 错误: ipfs configuration file already exists

javascript - 是否可以上传字符串/js 对象而不将其存储在文件中? - IPFS

go - 以编程方式使用 Go-IPFS

javascript - 如何仅使用带有纯 JavaScript 的 js-ipfs 创建目录并将文件添加到 ipfs

ipfs - 如何停止 ipfs 守护进程?(ctrl+c 仅在您处于守护进程 cmd 提示符下时才有效)。需要解决方案使其在其他 cmd 提示中也能正常工作

ipfs - 如何创建与 IPFS 兼容的多哈希

service - systemctl enable 有效,但 systemctl --user enable 无效