[教程] IPFS 分享超大文件

实用技术ipfs超大文件IPFS
浏览数 - 1287发布于 - 2024-03-27 - 22:15
labyin
labyin

577

第一步:准备工作


首先需要下载 IPFS Kubo 这个软件

https://github.com/ipfs/kubo/releases

image.png

下载完成后先设置环境变量 IPFS_PATH ,例 D:\myipfs, 因为使用 --nocopy 参数时,文件必须与 IPFS_PATH 在同一个根目录下。

设置环境变量的具体操作

setx IPFS_PATH D:\myipfs

refreshenv

初始化 IPFS

ipfs init

开启 nocopy

ipfs config --json Experimental.FilestoreEnabled true

启动 IPFS 进程

ipfs daemon

首次启动 IPFS 时,防火墙可能会自动弹出请求权限的提示框,请允许软件访问网络。这样可以确保 IPFS 能够正常运行并与其他节点进行通信。

image.png

如果你曾经安装过 IPFS,请在C盘搜索IPFS文件夹并删除。反正我就是这么做的

这样就完成了IPFS Kubo的安装

image.png

第二步:分享文件


我们可以使用如下命令进行分享文件。

ipfs add --nocopy --recursive --hash=blake2b-256 --chunker=size-1048576 -H "D:\test"

 

来自 https://annas-blog.org/help-seed-zlibrary-on-ipfs.html 的命令

image.png

image.png

命令解释

--nocopy

必选,不然分享多少文件,就会占用多少空间。

--recursive

必选,不然不能分享文件夹

--chunker=size-1048576

必选,默认大小为 262144,大小设置为最大 1048576 。不然分享文件,会占用很多的空间。

--hash=blake2b-256

默认 hash 是 sha256
使用blake2b-256 比 sha256 更快,更省电,在下载速度上可以体现

-H

可选可不选,这个命令是用来判断是否上传隐藏文件的

不要使用以下命令


--trickle

因为对于冷门大文件下载速度会慢很多。在下载时会出现一下满速,一下变为 1 KB/s 的情况

https://discuss.ipfs.io/t/ipfs-file-sharing/11404/11

--inline

https://github.com/filecoin-project/specs-actors/pull/783

第三步:IPFS 增加删除文件


这里建议浏览器打开 http://127.0.0.1:5001/webui 来访问 IPFS,跟https://github.com/ipfs/ipfs-desktop/releases 的界面差不多

打开后会看到如下界面

image.png

如果显示已连接到 IPFS,那么恭喜您!你已经可以使用IPFS分享文件了 我们点击来自IPFS路径

image.png

导入你生成的 CID。

image.png

导入 bafykbzacedje67dgnyrppwisb6bozurqged6bqvh3ztbdmx6hgnniimjh7s7o

image.png

然后将文件拖入 bafykbzacedje67dgnyrppwisb6bozurqged6bqvh3ztbdmx6hgnniimjh7s7o 中

发现文件的CID(bafk……jo)变了,但其依然是使用blake2b-256

image.png

这样就实现了文件的更新。

 

如何突破10 GB下载限制

在配置中往下翻,一直翻到 StorageMax 设置为 1000 GB 并保存

 image.png

如果到这一步成功的话,恭喜你学会了如何使用IPFS 分享超大文件。快去试试分享吧~

image.png

进阶IPNS + DNSLink动态更新

可以看这个教程https://www.cnblogs.com/qxxiao/p/15404183.html

说明

【本质也是一个映射关系】DNS链接使用DNS TXT记录映射域名到一个IPFS地址。因为你可以编辑自己的DNS记录,可以使他们总是指向最新版本的IPFS中的对象。其目的是提供一个阅读记忆友好的名字。

选择一个域名(可以是子域名),添加一个TXT记录,其内容可以为:

dnslink=/ipfs/bafykbzacedje67dgnyrppwisb6bozurqged6bqvh3ztbdmx6hgnniimjh7s7o

或者使用 _dnslink子域名

比如 kungal.com 的子域名 _dnslink.kungal.com 设置 TXT 记录为

dnslink=/ipfs/bafykbzacedje67dgnyrppwisb6bozurqged6bqvh3ztbdmx6hgnniimjh7s7o

那么就可以通过 https://ipfs.joaoleitao.org/ipns/kungal.com 或者 https://dweb.link/ipns/kungal.com 访问这,访问是不需要安装IPFS软件的

DNSLINK 对于没有域名的人来说可能很难理解,我们可以先跳过这部分。使用自带的发布到IPNS就可以实现动态更新了,只不过长度上会有点长,记得每天连接一次确保解析记录有效!

image.png

整个教程结束了

练习题

  1. 导入下面的 IPFS 路径。取名为碧蓝档案音乐合集
    bafykbzacecj7yvngd6o2khhec7pwoiukwstht2ecf62kr2s6phudwbcwhp2uk
  2. 利用第一题所给的文件,制作一个 10 TB 的 IPFS 路径。

image.png

image.png

image.png

 

重新编辑于 - 2024-04-20 - 19:54

2 条回复

labyin
发布于 2024-03-28 - 19:03 (编辑于 2024-04-20 - 19:56)

生成 10 TB 文件提示,利用重复导入文件

阿拉灯神丁
发布于 2024-03-28 - 22:36

我承认我是来看图的🙃

感觉IPFS共享对网络环境也有要求, 而且现在软件客户端支持也不是很广泛.

看介绍就像是以前的FTP和BT共享的结合体, 不过确实是长见识了

(。>︿<。) 已经一滴回复都不剩了哦~