【问题标题】:Getting HASH of individual files within folder uploaded to IPFS获取上传到 IPFS 的文件夹中单个文件的 HASH
【发布时间】:2020-12-31 17:03:00
【问题描述】:

当我将 .jpg 文件的文件夹上传到 IPFS 时,我得到了该文件夹的 HASH - 这很酷。

但是该文件夹中的每个单独文件是否也被散列? 如果是这样,我如何获取每个文件的哈希?

我基本上希望能够上传一大堆文件(例如 500 张图像)并一次性完成,或者以编程方式完成,然后将每个文件的哈希值返回给我。

有什么办法吗?

【问题讨论】:

    标签: hash blockchain ethereum ipfs


    【解决方案1】:

    是的!从命令行中,您可以获取运行 ipfs add -r <path to directory> 时添加的每个文件的 CID(Content IDentifier,又名 IPFS 哈希

    $ ipfs add -r gifs
    added QmfBAEYhJp9ZjGvv8utB3Yv8uuuxsDKjv9rurkHRsYU3ih gifs/martian-iron-man.gif
    added QmRBHTH3p4W2xAzgLxvdh8VJvAmWBgchwCr9G98EprwetE gifs/needs-more-dogs.gif
    added QmZbffnCcV598QxsUy7WphXCAMZJULZAzy94tuFZzbFcdK gifs/satisfied-with-your-care.gif
    added QmTxnmk85ESr97j2xLNFeVZW2Kk9FquhdswofchF8iDGFg gifs/stone-of-triumph.gif
    added QmcN71Qh56oSg2YXsEXuf8o6u5CrBXbyYYzgMyAkdkcxxK gifs/thanks-dog.gif
    added QmTnuLaivKc1Aj8LBf2iWBHDXsmedip3zSPbQcGi6BFwTC gifs
    

    目录的根 CID 始终是列表中的最后一项。

    您可以使用--quiet 标志将该命令的输出限制为仅包含 CID

    ⨎ ipfs add -r gifs --quiet
    QmfBAEYhJp9ZjGvv8utB3Yv8uuuxsDKjv9rurkHRsYU3ih
    QmRBHTH3p4W2xAzgLxvdh8VJvAmWBgchwCr9G98EprwetE
    QmZbffnCcV598QxsUy7WphXCAMZJULZAzy94tuFZzbFcdK
    QmTxnmk85ESr97j2xLNFeVZW2Kk9FquhdswofchF8iDGFg
    QmcN71Qh56oSg2YXsEXuf8o6u5CrBXbyYYzgMyAkdkcxxK
    QmTnuLaivKc1Aj8LBf2iWBHDXsmedip3zSPbQcGi6BFwTC
    

    或者,如果您知道某个目录的 CID,则可以使用ipfs ls 列出其中包含的文件及其各自的 CID。这里我列出了上一个示例中的 gifs 目录的内容

    $ ipfs ls QmTnuLaivKc1Aj8LBf2iWBHDXsmedip3zSPbQcGi6BFwTC
    QmfBAEYhJp9ZjGvv8utB3Yv8uuuxsDKjv9rurkHRsYU3ih 2252675 martian-iron-man.gif
    QmRBHTH3p4W2xAzgLxvdh8VJvAmWBgchwCr9G98EprwetE 1233669 needs-more-dogs.gif
    QmZbffnCcV598QxsUy7WphXCAMZJULZAzy94tuFZzbFcdK 1395067 satisfied-with-your-care.gif
    QmTxnmk85ESr97j2xLNFeVZW2Kk9FquhdswofchF8iDGFg 1154617 stone-of-triumph.gif
    QmcN71Qh56oSg2YXsEXuf8o6u5CrBXbyYYzgMyAkdkcxxK 2322454 thanks-dog.gif
    

    您可以使用 js-ipfs 或 go-ipfs 中的核心 api 以编程方式。下面是使用 ipfs.addAll(files) - https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/FILES.md#importing-files-from-the-file-system 文档中的 js-ipfs 从 node.js 中的本地文件系统添加文件的示例

    https://www.youtube.com/watch?v=Z5zNPwMDYGg 上有一个关于如何将文件添加到 IPFS 的非常有用的视频

    这里是 js-ipfs 的介绍https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101

    【讨论】:

    • 哇!非常彻底的回答先生!有很多要挖掘的链接 - 我将立即开始探索它们 - 非常感谢!
    猜你喜欢
    • 2022-07-03
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2020-09-07
    • 2021-12-02
    • 2017-06-12
    相关资源
    最近更新 更多