ipfs命令手册

ipfs
ipfs命令行简介 ipfs add - 添加文件或目录 ipfs cat - 显示对象内容 ipfs commands - 显示可用命令 ipfs daemon - 节点服务进程 ipfs dns - 解析域名 ipfs get - 读取ipfs对象 ipfs id - 显示节点信息 ipfs init - 初始化配置文件 ipfs ls - 显示目录内容 ipfs mount - 挂载ipfs ipfs ping - 测试节点连通性 ipfs resolve - 名称解析 ipfs update ipfs version - 显示版本信息
ipfs bitswap
ipfs bitswap - bitswap操作接口 ipfs bitswap ledger - 显示指定节点的账本 ipfs bitswap stat - 显示诊断信息 ipfs bitswap unwant - 从需求列表移除块 ipfs bitswap wanglist - 显示需求列表中的块
ipfs block
ipfs block - 裸块操作接口 ipfs block get - 读取裸块 ipfs block put - 写入裸块 ipfs block rm - 删除裸块 ipfs block stat - 显示块信息
ipfs bootstrap
ipfs bootstrap - 管理启动引导节点 ipfs bootstrap add - 添加引导节点 ipfs bootstrap list - 显示引导节点列表 ipfs bootstrap rm - 删除引导节点
ipfs config
ipfs config - 配置管理 ipfs config edit - 编辑配置文件 ipfs config replace - 替换配置文件 ipfs config show - 显示配置文件内容
ipfs diag
ipfs diag - 系统诊断 ipfs diag cmds - 显示运行的命令 ipfs diag cmds clear - 清理非活动请求 ipfs diag cmds set-time - 设置非活动请求的保存时长 ipfs diag sys - 显示系统信息
ipfs file
ipfs file ipfs file ls
ipfs files
ipfs files - 文件操作接口 ipfs files cp - 拷贝文件 ipfs files flush - 刷新磁盘文件 ipfs files ls - 显示目录内容 ipfs files mkdir - 创建目录 ipfs files mv - 移动/更名文件 ipfs files read - 读取文件 ipfs files rm - 删除文件 ipfs files stat - 显示文件统计信息 ipfs files write - 写入文件
ipfs filestore
ipfs filestore dups ipfs filestore ls ipfs filestore verify
ipfs key
ipfs key - 管理名称密钥 ipfs key gen - 生成名称密钥 ipfs key list - 显示名称密钥列表
ipfs log
ipfs log - 日志管理 ipfs log level - 调整日志等级 ipfs log tail - 跟踪显示事件日志 ipfs log ls - 列举日志子系统
ipfs name
ipfs name - 管理IPNS名称 ipfs name publish - 发布IPNS名称 ipfs name resolve - 解析IPNS名称
ipfs object
ipfs object - 管理ipfs对象 ipfs object data - 显示对象裸数据 ipfs object diff - 显示对象差异 ipfs object get - 格式化显示对象数据 ipfs object links - 显示对象的链接 ipfs object new - 创建新对象 ipfs object patch - 派生新对象 ipfs object patch add-link - 添加链接 ipfs object patch append-data - 追加新数据 ipfs object patch rm-link - 删除链接 ipfs object patch set-data - 更新节点数据 ipfs object put - 将数据转化为ipfs对象 ipfs object stat - 显示节点统计信息
ipfs pin
ipfs pin - 管理ipfs对象的固定 ipfs pin add - 固定ipfs对象 ipfs pin ls - 显示被固定对象列表 ipfs pin rm - 解除ipfs对象的固定
ipfs pubsub
ipfs pubsub ipfs pubsub ls ipfs pubsub peers ipfs pubsub pub ipfs pubsub sub
ipfs refs
ipfs refs - 显示对象链接清单 ipfs refs local - 显示本地对象清单
ipfs repo
ipfs repo - 管理ipfs仓库 ipfs repo fsck - 删除仓库锁文件 ipfs repo gc - 回收磁盘空间 ipfs repo stat - 显示仓库统计信息 ipfs repo verify - 校验仓库完好性 ipfs repo version - 显示仓库版本信息
ipfs stats
ipfs stats - 显示ipfs节点统计信息 ipfs stats bitswap - 显示bitswap协议统计信息 ipfs stats bw - 显示带宽利用信息 ipfs stats repo - 显示仓库统计信息
ipfs swarm
ipfs swarm ipfs swarm addrs ipfs swarm addrs local ipfs swarm connect ipfs swarm disconnect ipfs swarm filters ipfs swarm filters add ipfs swarm filters rm ipfs swarm peers
ipfs tar
ipfs tar ipfs tar add ipfs tar cat
ipfs tour
ipfs tour ipfs tour next ipfs tour restart
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

ipfs daemon - ipfs节点服务进程

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]

选项

--init                         bool   - 是否使用默认设置自动初始化ipfs,默认值:false
--routing                      string - 路由选项,默认值:dht
--mount                        bool   - 是否将IPFS挂载到文件系统,默认值:false
--writable                     bool   - 是否允许使用`POST/PUT/DELETE`修改对象,默认值: false.
--mount-ipfs                   string - 当使用--mount选项时IPFS的挂接点,默认值采用配置文件中的设置
--mount-ipns                   string - 当使用--mount选项时IPNS的挂接点,默认值采用配置文件中的设置
--unrestricted-api             bool   - 是否允许API访问未列出的哈希,默认值:false
--disable-transport-encryption bool   - 是否进制传输层加密,默认值:false。当调试协议时可开启该选项
--enable-gc                    bool   - 是否启用自动定时仓库垃圾回收,默认值:false
--manage-fdlimit               bool   - 是否按需自动提高文件描述符上限,默认值:false
--offline                      bool   - 是否离线运行,即不连接到网络,仅提供本地API,默认值:false
--migrate                      bool   - true对应于mirage提示时输入yes,false对应于输入no
--enable-pubsub-experiment     bool   - 是否启用发布订阅(pubsub)特性,该特性目前尚处于实验阶段
--enable-mplex-experiment      bool   - 是否启用`go-multiplex`流多路处理器,默认值:true

说明

服务进程将在指定的端口监听网络连接。使用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。例如:

ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080

当开放API访问时请千万小心,这存在一定的安全风险,因为任何人都可以 远程控制你的节点。如果你希望远程控制节点,请使用防火墙、授权代理 或其他服务来保护该API访问地址。

HTTP头

ipfs支持向API和网关传入任意HTTP头信息。你可以使用API.HTTPHeadersGateway.HTTPHeaders配置项进行配置。例如:

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

需要指出的是,值应当是字符串数组,因为HTTP头可以包含多个值,而且这样也 方面传给其他的库。

对于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)进行内容的路由。目前有一个尚处于 试验阶段的替代方案,使用纯客户端模式来操作分布式哈希表,可以在启动服务 进程时,使用如下命令启动这一替代路由方案:

ipfs daemon --routing=dhtclient

该选项在实验阶段结束后将转变为一个配置选项。

弃用通知

ipfs之前使用过环境变量API_ORIGIN

export API_ORIGIN="http://localhost:8888/"

该环境变量已经被弃用。在当前版本中还可以使用,但在将来的版本中将会删除对 此环境变量的支持。请使用前述HTTP头信息设置方法来取代该环境变量。