IPFS指令集(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013022210/article/details/80418531

6


ipfs cat



用法      ipfs cat <ipfs-path>... – 显示IPFS对象的数据。


使用范例    ipfs cat [--] <ipfs-path>...


参数       <ipfs-path>... – 需要输出的IPFS对象的路径。


描述       显示指定路径的IPFS或IPNS对象所包含的数据。


7


ipfs commands


用法       ipfs commands - 列出所有可用的命令。


使用范例   ipfs commands [--flags | -f]


选项       -f, --flags bool - 显示命令标志。缺省值为:false。


描述       列出所有可用的命令(包括子命令)并退出。



8


ipfs config


-8.1-

ipfs config


用法       ipfs config <key> [<value>] – 获取以及设置IPFS的配置参数值。


使用范例   ipfs config [--bool] [--json] [--] <key> [<value>]


参数       <key>     - 配置项的关键字(例如“Addresses.API”)。


 [<value>] - 为配置项设置的参数值。


选项


描述      “ipfs config”用来控制各种配置的变量。其工作原理类似“git config”。配置参数值存储在IPFS知识库的配置文件中。


获取“Datastore.Path”键的值:

$ ipfs config Datastore.Path


设置“Datastore.Path”键的值:

$ ipfs config Datastore.Path~/ .ipfs / datastore


子命令


使用“ipfs config <subcmd> --help”指令可以进一步获取每个命令的更多信息。

-8.2-

ipfs config edit


用法       ipfs config edit - 在$ EDITOR中打开配置文件,从而进行编辑。


使用范例   编辑ipfs配置


描述       要使用“ipfs config edit”,您必须将$ EDITOR环境变量设置为您的首选文本编辑器。

-8.3-

ipfs config replace


用法       ipfs config replace <file> - 用<file>配置文件替换现行配置。


使用范例   将ipfs配置替换为[--] <file>


参数       <file> - 将要使用的配置文件。


描述       如果需要,请确保先备份配置文件,因为此操作无法撤消。

-8.4-

ipfs config show


用法       ipfs config show - 输出配置文件的内容。


使用范例   展示ipfs配置


描述   注意:您的私钥存储在配置文件中,此命令的输出中也包含私钥信息。


9


ipfs daemon



用法    ipfs daemon – 运行一个连接网络的IPFS节点。

使用范例

ipfs daemon [--init] [--routing=<routing>] [--mount] [--writable] [--mount-ipfs=<mount-ipfs>] [--mount-ipns=<mount-ipns>] [--unrestricted-api] [--disable-transport-encryption] [--enable-gc] [--manage-fdlimit=false] [--offline] [--migrate] [--enable-pubsub-experiment] [--enable-mplex-experiment=false]

选项

描述

守护进程将开始监听网络端口,这些端口记录在“ipfs config Addresses”(也可以通过该其修改记录位置)。



例如,更改“网关”端口: ipfs config Addresses.Gateway /ip4/127.0.0.1/tcp/8082



API地址也可以以相同的方式更改:ipfs config Addresses.API /ip4/127.0.0.1/tcp/5002


在更改地址后必须重新启动守护程序。


默认情况下,网关只能在本地访问。要将其公开给网络中的其他计算机,请使用0.0.0.0作为IP地址:ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080


如果你的API暴露了就需要小心。这其中存在着安全风险,因为任何人都可以对您的节点实施远程控制。如果您需要远程控制某个节点,请确保像其他服务或数据库(防火墙,验证代理等)一样保护端口。


HTTP头

IPFS支持将任意头文件传递给API和网关。您可以通过在API.HTTPHeaders和Gateway.HTTPHeaders上设置标题来完成此操作。


Keys:

ipfs config --json API.HTTPHeaders.X-Special-Header'[“so special :)”]'


ipfs config --json Gateway.HTTPHeaders.X-Special-Header'[“so special :)”]'


请注意,Keys的值是_array_字符串。这是因为标题可以有多个值,这样有利于传递到其他库。


CORS头(用于API)

你可以用同样的方法设置CORS头文件:

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin'[“example.com”]'


ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods'[“PUT”,“GET”,“POST”]'


ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials'[“true”]'


关闭

如果想要关闭守护进程,请发送一个SIGINT信号(例如按“Ctrl+C”)或发送一个SIGTERM信号(例如“kill”)。守护进程可能需要一段时间才能正常关闭,但可以通过发送第二个相同的信号来强制终止。


IPFS_PATH环境变量

ipfs在本地文件系统中使用一个存储库。默认情况下,其报告位于〜/ .ipfs。要更改报告的位置,请设置$ IPFS_PATH


环境变量:export IPFS_PATH=/path/to/ipfsrepo

路由

默认情况下,IPFS将使用DHT进行内容路由。有一个高度实验性的替代方案,它将以“仅客户端”模式运行DHT,可以通过运行守护程序来启用: ipfs daemon --routing = dhtclient


一旦退出“实验”阶段,将在稍后转入配置选项。


弃用通知

以前,ipfs使用的环境变量如下所示:

export API_ORIGIN =“http:// localhost:8888 /”


如今这已被弃用。它仍然包含在此版本中发布,但随着此通知将在未来版本中删除。请转到设置HTTP Hearders。


10


ipfs dag



 用法       ipfs dag - 与ipld dag对象进行交互。


使用范例   ipfs dag


描述       “ipfs dag”用于创建和操作dag对象。


这个子命令目前是一个实验性功能,但它的目的是反对并取代现有的“ipfs object”命令。


子命令


使用“ipfs dag <子命令> --help”获取每个命令的更多信息。

-10.1-

ipfs dag get


用法       ipfs dag get <ref> - 从ipfs获取一个dag节点。


使用范例   ipfs dag get [--] <ref>


变量       <ref> - 要获取的对象


描述       “ipfs dag get”从ipfs获取一个dag节点并以指定的格式打印出来。


-10.2-

ipfs dag put


用法       ipfs dag put <object data> - 将一个dag节点添加到ipfs。


使用范例   ipfs dag put [--format=<format> | -f] [--input-enc=<input-enc>] [--] <object data>


变量       <object data> - 要添加的对象


选项


描述   “ipfs dag put”接受来自文件或stdin的输入并将其解析为指定格式的对象。


11


ipfs dht


-11.1-

ipfs dht


用法       ipfs dht - 直接通过DHT发布命令。

使用范例   ipfs dht

子命令


使用“ipfs dag <子命令> --help”获取每个命令的更多信息。

-11.2-

ipfs dht findpeer


用法       ipfs dht findpeer <peerID>... - 查询与Peer ID关联的所有多重地址的DHT。


使用范例   ipfs dht findpeer [--verbose | -v] [--] <peerID>...


变量       <peerID>... - 要搜索的节点的ID。



描述       输出换行符分隔的多地址列表。

-11.3-

ipfs dht findprovs


用法       ipfs dht findprovs <key>... - 给定特定key的情况下,在DHT中查找可以提供特定值的节点。


使用范例   ipfs dht findprovs [--verbose | -v] [--] <key>...

变量       <key>... - 寻找提供者的key。


选项


描述   输出由换行符分隔的提供者节点的ID。

-11.4-

ipfs dht get


用法       ipfs dht get <key>... - 给定一个key,查询DHT的最佳值。


使用范例   ipfs dht get [--verbose | -v] [--] <key>...


变量       <key>... – 用来寻找对应值的key。


选项



描述       输出给定key的最佳值。


对于存储在DHT中的给定key可以有几个不同的值;在这种情况下,“最好”意味着最需要的记录。没有一个“最佳”指标:它完全取决于key的类型。对于IPNS,“最好”是既有效又有最高序列号(最新)的记录。


可以根据不同的key类型指定其他的“最佳”规则。

-11.5-

ipfs dht provide


用法       ipfs dht provide <key>... - 向网络广播您正在提供给定的key的值。


使用范例  ipfs dht provide [--verbose | -v] [--recursive | -r] [--] <key>...


变量       <key>... - 要发送的提供记录的key。


选项

-11.6-

ipfs dht put


用法       ipfs dht put <key> <value> - 将一个键/值对写入DHT。


使用范例   ipfs dht put [--verbose | -v] [--] <key> <value>


变量       <key>   - 要存储的值所对应的key。

             <value> - 要存储的值。


选项


描述

给定一个格式为/foo/bar的key以及任意形式的值,这将使该值对应该key地被写入DHT中。


key有两部分:key的类型(foo)和key的名称(bar)。 IPNS使用/ipns作为key的类型,并且期望将key的名称作为节点ID。IPNS条目是专门格式化的(协议缓冲区)。


您只能使用ipfs二进制文件支持的key的形式:目前只有/ipns。 除非你对go-ipfs DHT内部有相对深入的了解,否则你应该使用“ipfs name publish”而不是本指令。


值是任意文本。 标准输入可用于提供值。


注意:值不能超过2048字节。

-11.7-

ipfs dht query


用法       ipfs dht query <peerID>... - 通过查询DHT查找与给定节点ID最接近的节点ID。


使用范例   ipfs dht query [--verbose | -v] [--] <peerID>...


变量       <peerID>... - 用来查询的节点ID。


选项


描述       输出换行符分隔的节点ID列表。


6


ipfs cat



用法      ipfs cat <ipfs-path>... – 显示IPFS对象的数据。


使用范例    ipfs cat [--] <ipfs-path>...


参数       <ipfs-path>... – 需要输出的IPFS对象的路径。


描述       显示指定路径的IPFS或IPNS对象所包含的数据。


7


ipfs commands


用法       ipfs commands - 列出所有可用的命令。


使用范例   ipfs commands [--flags | -f]


选项       -f, --flags bool - 显示命令标志。缺省值为:false。


描述       列出所有可用的命令(包括子命令)并退出。



8


ipfs config


-8.1-

ipfs config


用法       ipfs config <key> [<value>] – 获取以及设置IPFS的配置参数值。


使用范例   ipfs config [--bool] [--json] [--] <key> [<value>]


参数       <key>     - 配置项的关键字(例如“Addresses.API”)。


 [<value>] - 为配置项设置的参数值。


选项


描述      “ipfs config”用来控制各种配置的变量。其工作原理类似“git config”。配置参数值存储在IPFS知识库的配置文件中。


获取“Datastore.Path”键的值:

$ ipfs config Datastore.Path


设置“Datastore.Path”键的值:

$ ipfs config Datastore.Path~/ .ipfs / datastore


子命令


使用“ipfs config <subcmd> --help”指令可以进一步获取每个命令的更多信息。

-8.2-

ipfs config edit


用法       ipfs config edit - 在$ EDITOR中打开配置文件,从而进行编辑。


使用范例   编辑ipfs配置


描述       要使用“ipfs config edit”,您必须将$ EDITOR环境变量设置为您的首选文本编辑器。

-8.3-

ipfs config replace


用法       ipfs config replace <file> - 用<file>配置文件替换现行配置。


使用范例   将ipfs配置替换为[--] <file>


参数       <file> - 将要使用的配置文件。


描述       如果需要,请确保先备份配置文件,因为此操作无法撤消。

-8.4-

ipfs config show


用法       ipfs config show - 输出配置文件的内容。


使用范例   展示ipfs配置


描述   注意:您的私钥存储在配置文件中,此命令的输出中也包含私钥信息。


9


ipfs daemon



用法    ipfs daemon – 运行一个连接网络的IPFS节点。

使用范例

ipfs daemon [--init] [--routing=<routing>] [--mount] [--writable] [--mount-ipfs=<mount-ipfs>] [--mount-ipns=<mount-ipns>] [--unrestricted-api] [--disable-transport-encryption] [--enable-gc] [--manage-fdlimit=false] [--offline] [--migrate] [--enable-pubsub-experiment] [--enable-mplex-experiment=false]

选项

描述

守护进程将开始监听网络端口,这些端口记录在“ipfs config Addresses”(也可以通过该其修改记录位置)。



例如,更改“网关”端口: ipfs config Addresses.Gateway /ip4/127.0.0.1/tcp/8082



API地址也可以以相同的方式更改:ipfs config Addresses.API /ip4/127.0.0.1/tcp/5002


在更改地址后必须重新启动守护程序。


默认情况下,网关只能在本地访问。要将其公开给网络中的其他计算机,请使用0.0.0.0作为IP地址:ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080


如果你的API暴露了就需要小心。这其中存在着安全风险,因为任何人都可以对您的节点实施远程控制。如果您需要远程控制某个节点,请确保像其他服务或数据库(防火墙,验证代理等)一样保护端口。


HTTP头

IPFS支持将任意头文件传递给API和网关。您可以通过在API.HTTPHeaders和Gateway.HTTPHeaders上设置标题来完成此操作。


Keys:

ipfs config --json API.HTTPHeaders.X-Special-Header'[“so special :)”]'


ipfs config --json Gateway.HTTPHeaders.X-Special-Header'[“so special :)”]'


请注意,Keys的值是_array_字符串。这是因为标题可以有多个值,这样有利于传递到其他库。


CORS头(用于API)

你可以用同样的方法设置CORS头文件:

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin'[“example.com”]'


ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods'[“PUT”,“GET”,“POST”]'


ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials'[“true”]'


关闭

如果想要关闭守护进程,请发送一个SIGINT信号(例如按“Ctrl+C”)或发送一个SIGTERM信号(例如“kill”)。守护进程可能需要一段时间才能正常关闭,但可以通过发送第二个相同的信号来强制终止。


IPFS_PATH环境变量

ipfs在本地文件系统中使用一个存储库。默认情况下,其报告位于〜/ .ipfs。要更改报告的位置,请设置$ IPFS_PATH


环境变量:export IPFS_PATH=/path/to/ipfsrepo

路由

默认情况下,IPFS将使用DHT进行内容路由。有一个高度实验性的替代方案,它将以“仅客户端”模式运行DHT,可以通过运行守护程序来启用: ipfs daemon --routing = dhtclient


一旦退出“实验”阶段,将在稍后转入配置选项。


弃用通知

以前,ipfs使用的环境变量如下所示:

export API_ORIGIN =“http:// localhost:8888 /”


如今这已被弃用。它仍然包含在此版本中发布,但随着此通知将在未来版本中删除。请转到设置HTTP Hearders。


10


ipfs dag



 用法       ipfs dag - 与ipld dag对象进行交互。


使用范例   ipfs dag


描述       “ipfs dag”用于创建和操作dag对象。


这个子命令目前是一个实验性功能,但它的目的是反对并取代现有的“ipfs object”命令。


子命令


使用“ipfs dag <子命令> --help”获取每个命令的更多信息。

-10.1-

ipfs dag get


用法       ipfs dag get <ref> - 从ipfs获取一个dag节点。


使用范例   ipfs dag get [--] <ref>


变量       <ref> - 要获取的对象


描述       “ipfs dag get”从ipfs获取一个dag节点并以指定的格式打印出来。


-10.2-

ipfs dag put


用法       ipfs dag put <object data> - 将一个dag节点添加到ipfs。


使用范例   ipfs dag put [--format=<format> | -f] [--input-enc=<input-enc>] [--] <object data>


变量       <object data> - 要添加的对象


选项


描述   “ipfs dag put”接受来自文件或stdin的输入并将其解析为指定格式的对象。


11


ipfs dht


-11.1-

ipfs dht


用法       ipfs dht - 直接通过DHT发布命令。

使用范例   ipfs dht

子命令


使用“ipfs dag <子命令> --help”获取每个命令的更多信息。

-11.2-

ipfs dht findpeer


用法       ipfs dht findpeer <peerID>... - 查询与Peer ID关联的所有多重地址的DHT。


使用范例   ipfs dht findpeer [--verbose | -v] [--] <peerID>...


变量       <peerID>... - 要搜索的节点的ID。



描述       输出换行符分隔的多地址列表。

-11.3-

ipfs dht findprovs


用法       ipfs dht findprovs <key>... - 给定特定key的情况下,在DHT中查找可以提供特定值的节点。


使用范例   ipfs dht findprovs [--verbose | -v] [--] <key>...

变量       <key>... - 寻找提供者的key。


选项


描述   输出由换行符分隔的提供者节点的ID。

-11.4-

ipfs dht get


用法       ipfs dht get <key>... - 给定一个key,查询DHT的最佳值。


使用范例   ipfs dht get [--verbose | -v] [--] <key>...


变量       <key>... – 用来寻找对应值的key。


选项



描述       输出给定key的最佳值。


对于存储在DHT中的给定key可以有几个不同的值;在这种情况下,“最好”意味着最需要的记录。没有一个“最佳”指标:它完全取决于key的类型。对于IPNS,“最好”是既有效又有最高序列号(最新)的记录。


可以根据不同的key类型指定其他的“最佳”规则。

-11.5-

ipfs dht provide


用法       ipfs dht provide <key>... - 向网络广播您正在提供给定的key的值。


使用范例  ipfs dht provide [--verbose | -v] [--recursive | -r] [--] <key>...


变量       <key>... - 要发送的提供记录的key。


选项

-11.6-

ipfs dht put


用法       ipfs dht put <key> <value> - 将一个键/值对写入DHT。


使用范例   ipfs dht put [--verbose | -v] [--] <key> <value>


变量       <key>   - 要存储的值所对应的key。

             <value> - 要存储的值。


选项


描述

给定一个格式为/foo/bar的key以及任意形式的值,这将使该值对应该key地被写入DHT中。


key有两部分:key的类型(foo)和key的名称(bar)。 IPNS使用/ipns作为key的类型,并且期望将key的名称作为节点ID。IPNS条目是专门格式化的(协议缓冲区)。


您只能使用ipfs二进制文件支持的key的形式:目前只有/ipns。 除非你对go-ipfs DHT内部有相对深入的了解,否则你应该使用“ipfs name publish”而不是本指令。


值是任意文本。 标准输入可用于提供值。


注意:值不能超过2048字节。

-11.7-

ipfs dht query


用法       ipfs dht query <peerID>... - 通过查询DHT查找与给定节点ID最接近的节点ID。


使用范例   ipfs dht query [--verbose | -v] [--] <peerID>...


变量       <peerID>... - 用来查询的节点ID。


选项


描述       输出换行符分隔的节点ID列表。

猜你喜欢

转载自blog.csdn.net/u013022210/article/details/80418531