IPFS(二)IPFS指令集(中文介绍)

宇文曦
2023-12-01

今天我们介绍一下IPFS指令集,帮助我们在开发过程中使用。
1、ipfs

用法 ipfs - 全球p2p默克尔有向无环图文件系统。
使用范例 ipfs [–config=| -c] [–debug= | -D] [–help=] [-h=][–local= | -L] [–api=]

选项

参数表示参数类型介绍
-c, --configstring配置文件路径
-D, --debugbool以debug模式操作,缺省为false
–hbool展示精简版的命令帮助文档,缺省为false
-L, --localbool在本地运行命令,缺省为false
–apistring使用具体的API实例(缺省为/ip4/127.0.0.1/tcp/5001)

子命令
基本命令

命令介绍
init初始化IPFS本地配置
add < path >添加一个文件到IPFS
cat 展示IPFS对象数据
get 下载IPFS对象
ls 从一个对象中列出链接
Refs 从一个对象中列出链接哈希

数据结构命令

命令介绍
block与数据存储中的原始块交互
object与原始DAG节点交互
files将对象抽象为unix文件系统,并与对象交互
dag与IPLD文件交互(实验中)

高级命令

命令介绍
daemon开启一个开始运行的后台进程
mount挂载一个IPFS只读的挂载点
resolve解析任何类型的名字
name发布并解析IPNS名字
key创建并列出IPNS名字密钥对
dns解析DNS链接
pin将对象锁定到本地存储
repo操纵IPFS仓库
stats各种操作状态
filestore管理文件仓库(实验中)

网络命令

命令介绍
id展示IPFS节点信息
bootstrap添加或删除引导节点
swarm管理p2p网络连接
dht请求有关值或节点的分布式哈希表
ping测量一个连接的延迟
diag打印诊断信息

工具命令

命令介绍
config管理配置
version展示IPFS版本信息
update下载并应用go-ipfs更新
commands列出所有可用命令

使用“ipfs <命令> --help”来了解关于每个命令的详细信息。

IPFS在本地文件系统中一个仓库,其默认位置为~/.ipfs,可以通过设置环境变量IPFS_PATH改变仓库位置:

export IPFS_PATH=/path/to/ipfsrepo
EXIT STATUS

命令行将以下面的两者之一结束:
·0 成功执行 ·1 失败
使用“ipfs <子命令> –help”获得关于每个命令的更多信息。

2、ipfs add
用法 ipfs add … - 添加一个文件或目录到IPFS。

使用范例

ipfs add [–recursive |-r] [–quiet | -q] [–quieter | -Q] [–silent]
[–progress | -p] [–trickle |-t] [–only-hash | -n]
[–wrap-with-directory | -w] [–hidden | -H] [–chunker=| -s]
[–pin=false] [–raw-leaves] [–nocopy] [–fscache] [–]

参数 < path >… - 要添加到ipfs的文件的路径。

参数标识参数类型介绍
-r, --recursivebool递归添加目录路径。缺省为false
-q, --quietbool最少化打印输出
-Q, --quieterbool只打印最终哈希
–silentbool不打印任何输出
-p, --progressbool以数据流方式处理数据
-t, --tricklebool使用滴式DAG格式生成DAG
-n, --only-hashbool仅分块和哈希,不写入磁盘
-w, --wrap-with-directorybool用目录对象包裹文件
-H, --hiddenbool包括隐藏的文件。只有递归添加时有效
-s, --chunkerstring指定分块算法
–pinbool添加时将对象绑定到本次存储,缺省开启
–raw-leavesbool使用原始块作为叶子节点。(实验中)
–nocopybool通过文件仓库添加文件。(实验中)
–fscachebool在文件仓库中检查与现存在的区块。(实验中)

描述

将 < path >中的内容添加到IPFS。使用-r添加目录。注意:目录是递归添加的,以便于形成IPFS默克尔有向无环图。

包裹的选项,“-w”,将文件包裹到一个目录里。这个目录只含有被添加的这些文件,这意味着文件保留其本身的文件名,例如。

ipfs add demo.txt
added QmdWNvCsLUidQkNaxAdTbZPenxhXbwFVNVL8BiCQF24JyD demo.txt
 686 B / ? [---=-------------------------------------------------------------------------------------------------------------------------------------] 
ipfs add demo.txt -w
added QmdWNvCsLUidQkNaxAdTbZPenxhXbwFVNVL8BiCQF24JyD demo.txt
added QmRnzLzwfmqms9K87iU3eLcCqfLFtQvcaF5JtwxKsyH8Ru
 686 B / ? [---=-------------------------------------------------------------------------------------------------------------------------------------] 

你现在可以通过目录的方式查看这个文件:

ipfs ls QmRnzLzwfmqms9K87iU3eLcCqfLFtQvcaF5JtwxKsyH8Ru
//显示文件hash及文件名
QmdWNvCsLUidQkNaxAdTbZPenxhXbwFVNVL8BiCQF24JyD 686 demo.txt

通过ipfs cat 访问这文件

ipfs cat QmdWNvCsLUidQkNaxAdTbZPenxhXbwFVNVL8BiCQF24JyD
//显示文件为
hello word!
demo file

3、ipfs bitswap
3.1、ipfs bitswap

用法 ipfs bitswap - 与bitswap代理交互。
使用范例 ipfs bitswap

子命令

参数标识介绍
ipfs bitswap ledger < peer >向一个节点展示目前的账本
ipfs bitswap stat在bitswap代理商展示一些诊断信息
ipfs bitswap unwant < key >…从你的需求列表上移除一个给定的区块
ipfs bitswap wantlist展示目前在需求列表上的区块

使用“ipfs bitswap <子命令> –help”来查看关于每个命令的更多信息。

3.2、ipfs bitswap ledger

用法 ipfs bitswap ledger - 向一个节点展示目前的账本。
使用范例 ipfs bitswap ledger[–]
参数 - 要检查的账本的PeerID(B58)
描述
bitswap决策引擎会追溯IPFS节点间字节交换的数量,并将这些信息存储为账本集。这个命令打印与给定节点相关的账本。
3.3、ipfs bitswap stat
用法 ipfs bitswap stat -在bitswap代理上展示诊断信息。
使用范例 ipfs bitswap stat

3.4、ipfs bitswap unwant

用法 ipfs bitswap unwant … - 从你的需求列表中移除一个给定的区块。
使用范例 ipfs bitswap unwant[–] …
参数 … - 需要从需求列表中移除的Key(s)

3.5、ipfs bitswap wantlist

用法 ipfs bitswapwantlist - 展示目前在需求列表中的区块。 使用范例 ipfs
bitswap wantlist [–peer=| -p] 选项 -p, --peer string
-指定展示针对哪个节点的需求列表,默认为自己。 描述 打印目前本地节点在bitswap需求列表中的所有区块。

4、ipfs block
4.1、ipfs block

用法 ipfs block - 与原始IPFS区块交互。
使用范例 ipfs block
参数 - 要检查的账本的PeerID(B58)。
描述 “ipfs block”是一个操纵原始IPFS区块的管道命令。
从stdin读取或写入到stdout,并且< key>是一个base58编码的多重哈希。

子命令

命令介绍
ipfs block get < key>获取一个原始IPFS区块
ipfs block put < data>将输入存储为IPFS区块
ipfs block rm < hash> …移除IPFS区块
ipfs block stat < key>打印关于一个原始IPFS区块的信息

使用“ipfs block <子命令> –help”获取更多关于每个命令的信息。

4.2、ipfs block get

用法
ipfs block get - 获取原始IPFS区块。
使用范例
ipfs block get [–] < key>
参数
< key> - 要获取的块的base58哈希。
描述
“ipfs block get”是一个操纵原始IPFS区块的管道命令。它将输出打印到stdout,并且是一个base58编码的哈希。

4.3、ipfs block put

用法
ipfs block put - 将输入存储到IPFS区块中。
使用范例
ipfs block put[ – format=< format> | -f ] [ --mhtype=] [–mhlen=][–]< data>
参数
< data> - 要存到IPFS区块中的数据。

选项

参数标识参数类型介绍
-f, --formatstring要创建的区块的cid格式,缺省为v0
–mhtypestring多重哈希函数,缺省为sha2-256
–mhlenint多重哈希长度,缺省为-1

描述
“ipfs block put”是一个操纵原始IPFS区块的管道命令。它从stdin中读取数据,并且是一个base58编码的多重哈希。

4.4、ipfs block rm

用法
ipfs block rm …- 移除IPFS区块。
使用范例
ipfs block rm [ --force| -f] [–quiet | -q] [–] < hash>…
参数
< hash>… - 要移除的区块的base58多重哈希。

选项

参数标识参数介绍
-f, --forcebool忽视不存在的区块,缺省为false.
-q, --quietbool最少化的写输出,缺省为false

描述
“ipfs blockrm”是一个操纵原始IPFS区块的管道命令。它以base58编码的多重哈希的列表为输入移除区块

4.5、ipfs block stat

用法 ipfs block stat - 打印一个IPFS区块的原始信息。
使用范例 ipfs
block stat [–]< key> 参数 < key> - 要查看信息的区块的base58编码。
描述 “ipfs block stat”是一个操纵原始IPFS区块的管道命令。它向stdout中输出以下信息:
· Key - base58编码的多重哈希。
· 大小 - 区块的大小(以字节为单位)。

5、ipfs bootstrap
5.1、ipfs bootstrap

用法 ipfs bootstrap - 展示会编辑引导节点列表。
使用范例 ipfs bootstrap
描述 在无参数条件下执行“ipfs bootstrap”等价于执行“ipfs bootstrap list”。

子命令

命令介绍
ipfs bootstrap add []…向引导节点列表中添加节点
ipfs bootstrap list展示列表中引导节点
ipfs bootstrap rm []…从引导节点列表中移除节点

使用“ipfs bootstrap <子命令> --help”来查看关于每条命令的详细信息。

5.2、ipfs bootstrap add

用法 ipfs bootstrap add []…- 向引导节点列表中添加节点。
使用范例 ipfs bootstrap add[–default] [–] […]
参数 [< peer>]… -要加入引导节点列表的节点(以“<多重地址>/<节点ID>”的格式)。
选项 --default bool - 添加默认的引导节点(不推荐,建议使用“default”子命令)
描述 输出要添加的节点列表(这些节点目前不在引导节点列表里)。

安全警示:

引导命令操纵包含引导节点地址的“bootstraplist”。
这些是可信节点,通过这些节点可以了解网络中其他节点的状态。如果你不了解修改本列表的风险,请不要修改本列表。
子命令 ipfs bootstrap adddefault - 向引导节点列表中添加默认节点。
使用 “ipfs bootstrap add <子命令> --help”来查看关于每条命令的详细信息。

5.3、ipfs bootstrap add default

用法 ipfs bootstrap adddefault - 向引导节点列表添加默认节点。
概要 ipfs bootstrap adddefault
描述 输出被添加的节点列表(这些节点还不在引导节点列表里)。

5.4、ipfs bootstrap list

用法 ipfs bootstrap list- 打印引导节点列表。
概要 ipfs bootstrap list
描述 节点以“<多重地址>/<节点ID>”的格式打印。

5.5、ipfs bootstrap rm

用法 ipfs bootstrap rm[]… - 从引导节点列表中移除节点。
概要 ipfs bootstrap rm[ --al l] [–] [< peer>…] 参数 [< peer>]… -要被移除的节点(以“<多重地址>/<节点ID>”的格式)。
选项 --all bool - 移除所有引导节点列表中的节点。(不推荐,请使用“all”子命令)。
描述 输出被移除的节点列表。

安全警示:

引导命令操纵包含引导节点地址的“bootstrapist”。
这些是可信节点,通过这些节点可以了解网络中其他节点的状态。如果你不了解修改本列表的风险,请不要修改本列表。 子命令
ipfs bootstrap rm all- 从引导节点列表中移除所有节点。 使用“ipfs bootstrap rm <子命令>
–help”来查看关于每条命令的详细信息。

5.6、ipfs bootstrap rm all

用法 ipfs bootstrap rmall - 从引导节点列表中移除所有节点。
概要 ipfs bootstrap rmall
描述 输出被移除的节点列表。

2019年2月22日 整理于深圳

 类似资料: