安装ipfs-cli
安装ipfs
官方文档:https://docs.ipfs.io/how-to/command-line-quick-start/#install-ipfs
go-ipfs已经更名为kubo;
Kubo项目地址:https://github.com/ipfs/go-ipfs/releases
Linux安装ipfs
https://docs.ipfs.tech/install/command-line/#install-official-binary-distributions
# 下载
wget https://dist.ipfs.tech/kubo/v0.19.1/kubo_v0.19.1_linux-amd64.tar.gz
# 解压
tar xvf kubo_v0.19.1_linux-amd64.tar.gz
# 执行安装脚本
cd kubo && bash install.sh
# 查看是否安装cg
which ipfs
# 查看版本
ipfs --version
创建service文件
vim /etc/systemd/system/ipfs.service
service文件
内容如下:
[Unit]
Description=IPFS Daemon
After=network.target
[Service]
# 指定$IPFS_PATH变量的值
Environment=IPFS_PATH="/data/.ipfs/"
# 以dht网络模式启动
# ExecStart=/usr/local/bin/ipfs daemon --routing=dhtclient
# 普通模式启动
ExecStart=/usr/local/bin/ipfs daemon
# User=<your_username>
Restart=on-failure
[Install]
WantedBy=multi-user.target
设置ipfs
服务开机启动
# 重新加载systemd的系统配置文件
systemctl daemon-reload
# 初始化节点
ipfs init
# 开机自启ipfs
systemctl enable --now ipfs
windows安装ipfs-cli—方法1
该文档是简介如何在Windows下安装ipfs命令行版.
# 使用choco安装kubo(go-ipfs)
## choco中的kubo还是用的go-ipfs包名
choco install go-ipfs -y
Windows二进制程序安装—方法2
从https://dist.ipfs.io/#go-ipfs 下载Windows
版的go-ipfs
二进制包。
将压缩包中的ipfs.exe
压缩到C:\bin\go-ipfs
目录下;
将C:\bin\go-ipfs
添加到系统的path
下.
在cmd中查看ipfs版本
# 查看ipfs版本
ipfs --version
## PS C:\Users\root> ipfs --version
ipfs version 0.9.1
修改ipfs变量
vim /etc/profile.d/ipfs.sh
# 修改ipfs config 配置编辑器
## ipfs config edit命令时会使用vim
export EDITOR=/usr/bin/vim
# 强制IPFS节点在启动时始终使用pnet模式--增强安全性
## libp2p 是 IPFS 使用的网络模块
## pnet模式是允许IPFS在具有相同密钥的节点之间建立一个私有网络
export LIBP2P_FORCE_PNET=1
# 使用IPFS_PATH变量来指定ipfs数据保存目录
export IPFS_PATH=/data/.ipfs/
启用pent模式–可选
vim /etc/profile.d/ipfs.sh
# 强制IPFS节点在启动时始终使用pnet模式--增强安全性
## libp2p 是 IPFS 使用的网络模块
## pnet模式是允许IPFS在具有相同密钥的节点之间建立一个私有网络
export LIBP2P_FORCE_PNET=1
指定默认数据目录–可选
~/.ipfs
目录是go-ipfs在本地文件系统上的默认数据目录
,用于存储IPFS节点的数据
和配置文件
。它包含以下文件和目录:
config文件
:此文件包含了go-ipfs节点的配置选项,比如监听端口、数据存储路径、路由协议等等。datastore目录
:此目录包含了IPFS节点存储在本地的所有数据,包括你通过IPFS添加的文件、区块链数据、节点连接信息等等。keys目录
:此目录包含了节点的身份证书和私钥,这些密钥用于节点之间的身份验证和加密通信。logs目录
:此目录包含了节点的日志文件,用于记录节点的活动和错误信息。api文件
:此文件是IPFS节点的API监听地址,它告诉你如何连接到IPFS API并与节点进行交互。
当你第一次启动go-ipfs节点时,它会自动创建~/.ipfs目录
,并在其中生成默认的配置文件和密钥。如果你想更改IPFS的配置选项或更换节点的密钥,你可以编辑这些文件或生成新的密钥,并将它们保存到~/.ipfs
目录中。
需要注意的是,~/.ipfs
目录只是go-ipfs
的默认数据目录
,你可以通过设置IPFS_PATH
环境变量来更改
数据目录的位置
。
vim /etc/profile.d/ipfs.sh
# 使用IPFS_PATH变量来指定ipfs数据保存目录
IPFS_PATH=/data/.ipfs/
# 使变量生效
export IPFS_PATH
使用ipfs-update升级ipfs
https://docs.ipfs.tech/how-to/ipfs-updater/#install-ipfs-update
# 下载ipfs-update
wget -c wget https://dist.ipfs.tech/ipfs-update/v1.9.0/ipfs-update_v1.9.0_linux-amd64.tar.gz
# 解压
tar -xvz ipfs-update_v1.9.0_linux-amd64.tar.gz
# 执行安装脚本
cd ipfs-update && bash install.sh
# 查看版本
ipfs-update --version
# 安装最新版kubo
ipfs-update install latest
# 查看ipfs版本
ipfs --version
将IPFS挂载为磁盘
Linux版本声明:RHEL8
# 安装 FUSE:
dnf install fuse -y
# 创建ipfs和ipns挂载点:
mkdir -p /ipfs /ipns
# 修改挂载点的属主
chown `whoami` /ipfs /ipns
# 启动ipfs
ipfs daemon &
# 挂载
ipfs mount
开始使用ipfs
查看另一篇介绍ipfs操作的文档
https://blog.csdn.net/omaidb/article/details/120102895
# ipfs初始化
ipfs init
# 启动ipfs守护进程
ipfs daemon
查看ipfs状态
# 显示节点的带宽使用情况,包括上传和下载的数据量
ipfs stats bw
# 显示节点存储库(repo)的相关统计信息,如存储使用量和对象数量等
ipfs stats repo
# 显示与 Bitswap 协议相关的统计信息,包括数据块交换和网络流量情况
ipfs stats bitswap
# 显示 DHT(分布式哈希表)的统计信息,包括路由表大小和查询次数等
ipfs stats dht
# # 返回有关节点的(重新)提供者系统的统计信息。
ipfs stats provide
添加文件
访问IPFS文件
现在,您已经可以像访问本地磁盘一样在 /ipfs
目录中访问 IPFS 文件了。请注意,这种方式下的文件访问速度可能受到网络速度和节点可用性等因素的影响,因此不是最佳选择,但可以满足某些特定的需求。
# 进入路径
cd /ipfs/<the-hash-here>
直接查看/ipfs
是没有权限
的,会报错,因此要指定挂载的目录
# 查看
ls /ipfs/目录CID
从ipfs访问上传的文件
IPFS域名 | CID |
---|---|
https://ipfs.io/ipfs/ | QmYWnUWgfXpdR5nsw92A98XHLb3gu9Ygpi4TNd8whhQX72 |
通过下方链接访问刚才上传的cn字体
目录。
https://ipfs.io/ipfs/QmYWnUWgfXpdR5nsw92A98XHLb3gu9Ygpi4TNd8whhQX72
常见错误
https://discuss.ipfs.tech/t/failed-to-set-multicast-interface/16273
mdns: Failed to set multicast interface: setsockopt: An invalid argument was supplied
解决办法:
# 禁用 IPFS 的 MDNS 发现功能
ipfs config --json Discovery.MDNS.Enabled false
# 重新启动ipfs 就不会报这个错误了
ipfs daemon