这个需要安装 2025 以上版本才能使用
ipfs init --profile server,unixfs-v1-2025
ipfs config Import.HashFunction blake3
ipfs config Import.UnixFSHAMTDirectorySizeThreshold 1MiB
UnixFSHAMTDirectoryMaxFanout 可修改也可不修改
ipfs config Import.UnixFSHAMTDirectoryMaxFanout 1024
或者修改 Import
"Import": {
"BatchMaxNodes": null,
"BatchMaxSize": null,
"CidVersion": null,
"FastProvideRoot": null,
"FastProvideWait": null,
"HashFunction": null,
"UnixFSChunker": null,
"UnixFSDirectoryMaxLinks": null,
"UnixFSFileMaxLinks": null,
"UnixFSHAMTDirectoryMaxFanout": null,
"UnixFSHAMTDirectorySizeThreshold": null,
"UnixFSRawLeaves": null
}
改为
"Import": {
"CidVersion": 1,
"HashFunction": "blake3",
"UnixFSChunker": "size-1048576",
"UnixFSDirectoryMaxLinks": 0,
"UnixFSFileMaxLinks": 1024,
"UnixFSHAMTDirectoryMaxFanout": 1024,
"UnixFSHAMTDirectorySizeThreshold": "1MiB",
"UnixFSRawLeaves": true
}
如果不切换 hash 为 blake3,需要将 CidVersion 设置为 1,且 UnixFSRawLeaves 设置为 true
unixfs-v1-2025 配置采用 1 MiB 的数据块和每个节点 1024 个链接的设置,相比之下。
旧版配置仅使用 256 KiB 的数据块和 174 个链接。这带来了以下优势:
更浅的 DAG 树结构(对于 1 TiB 的文件,新配置为 3 层,而旧参数则需 4 层)
处理相同内容时,总节点数减少约 4 倍
在大文件中进行随机访问和寻址的速度更快(遍历树结构所需的往返次数更少)
需要通告的 CID 数量更少,从而减轻了 Amino DHT 等公共路由基础设施的负载压力