安装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

image.png


开始使用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没有权限的,会报错,因此要指定挂载的目录
image.png

# 查看
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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值