IPFS 生命周期指南
主要生命周期
步骤 | 命令 | 描述 |
---|---|---|
初始化 | ipfs init | 初始化本地 IPFS 配置文件和存储仓库。创建默认配置文件,生成节点的私钥和公钥。 |
启动守护进程 | ipfs daemon | 启动 IPFS 节点,使其开始与 IPFS 网络其他节点通信。 |
添加文件 | ipfs add <file> | 将本地文件添加到 IPFS 网络,返回文件的 CID(内容标识符)。文件被分割成块并存储。 |
查找文件 | ipfs cat <CID> | |
ipfs get <CID> | 通过 CID 检索和下载文件。cat 用于查看内容,get 用于下载。 | |
发布内容 | ipfs name publish <CID> | 将特定 CID 的内容发布到 IPNS(IPFS 名称服务),使其可以通过固定的 IPNS 链接访问。 |
检索 IPNS 内容 | ipfs name resolve <IPNS> | 解析 IPNS 链接,获取对应的 CID。 |
停止守护进程 | ipfs shutdown | 安全地关闭 IPFS 节点。 |
文件生命周期
步骤 | 命令/操作 | 描述 |
---|---|---|
上传文件 | ipfs add <file> | 将文件添加到 IPFS 网络。文件被分割成数据块,每个块获得唯一的 CID。返回文件的顶级 CID。 |
文件传播 | 自动进行 | 文件的块被存储在本地节点,并可被 IPFS 网络中的其他节点请求。 |
其他节点获取文件 | ipfs cat <CID> | |
ipfs get <CID> | 其他节点可以通过顶级 CID 请求并下载文件。IPFS 通过块的 CID 找到并传输这些块。 | |
文件访问 | 通过 IPFS 网关或直接访问 | 文件可以通过公共 IPFS 网关或直接通过 IPFS 网络访问。 |
取消固定文件 | ipfs pin rm <CID> | 如果文件被固定(默认行为),可以通过此命令取消固定,使其成为垃圾回收的候选对象。 |
垃圾回收 | ipfs repo gc | 执行垃圾回收,清理未固定的数据块。只有未固定的块会被删除。 |
节点生命周期
步骤 | 命令/操作 | 描述 |
---|---|---|
初始化节点 | ipfs init | 创建和初始化 IPFS 节点的本地存储,生成配置文件和密钥对。 |
启动节点 | ipfs daemon | 启动 IPFS 节点,连接到 IPFS 网络,开始同步数据和响应请求。 |
加入网络 | 自动进行 | 节点自动发现并连接到其他 IPFS 节点,加入数据交换网络。 |
提供数据 | ipfs add <file> | 节点提供数据给网络,例如通过添加文件。 |
获取数据 | ipfs cat <CID> | 节点从网络获取数据,例如通过 CID 检索文件。 |
停止节点 | ipfs shutdown | 安全地关闭 IPFS 节点,断开网络连接。 |
内容发布与解析生命周期
步骤 | 命令/操作 | 描述 |
---|---|---|
添加内容 | ipfs add <file> | 将文件添加到 IPFS,获取文件的 CID。 |
发布到 IPNS | ipfs name publish <CID> | 将文件的 CID 发布到 IPNS,获取 IPNS 链接。 |
解析 IPNS 链接 | ipfs name resolve <IPNS> | 解析 IPNS 链接,获取对应的 CID。 |
访问内容 | ipfs cat <CID> | 通过 CID 访问 IPNS 链接指向的内容。 |
更新内容 | 重复添加内容和发布到 IPNS 步骤 | 更新 IPFS 中的内容并重新发布到 IPNS。 |
再次解析 | ipfs name resolve <IPNS> | 解析更新后的 IPNS 链接,获取新的 CID。 |
垃圾回收(GC)生命周期
步骤 | 操作 | 描述 |
---|---|---|
固定数据 | ipfs pin add <CID> | 固定(pin)重要的数据块,确保它们不会在垃圾回收过程中被删除。固定的数据通常是用户希望保留的文件或目录。 |
触发垃圾回收 | ipfs repo gc | 手动执行垃圾回收命令,清理未固定的数据块。IPFS 也可能根据配置自动执行垃圾回收。 |
识别可回收数据 | 自动进行 | IPFS 节点遍历本地存储,识别所有未固定的数据块。这些数据块不再被网络中的任何文件或目录引用。 |
删除数据块 | 自动进行 | IPFS 删除所有未固定的数据块,释放存储空间。 |
更新存储状态 | 自动进行 | IPFS 更新本地存储的状态,反映删除操作后的新状态。 |
报告结果 | 命令输出 | ipfs repo gc 命令输出被删除的数据块的信息,包括它们的 CID。 |