IPFS星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议。
1.下载与解压

# 下载
wget https://dist.ipfs.tech/kubo/v0.15.0/kubo_v0.15.0_linux-amd64.tar.gz
# 解压
tar -xvzf kubo_v0.15.0_linux-amd64.tar.gz

cd kubo
# 安装
bash install.sh
# 查看版本
ipfs --version

2.初始化

# 初始化IPFS账户
ipfs init

3.修改配置
调用ipfs init命令后,会在home目录下生成一个.ipfs隐藏目录,配置文件~.ipfs/config

# 显示配置
ipfs config show

# 修改配置
ipfs config edit

执行ipfs config edit命令可能会出现Error: ENV variable $EDITOR not set报错。解决办法:

// 为ipfs选择编辑器
export EDITOR=vi
ipfs config edit

如果需要外网访问,将API和Gateway字段的127.0.0.1改成0.0.0.0

"Addresses": {
  "API": "/ip4/0.0.0.0/tcp/5001",
  "Gateway": "/ip4/0.0.0.0/tcp/8080"
},

4.测试ipfs
新建文件并上传至本地ipfs中

vim test.txt

# 添加到ipfs中
ipfs add test.txt
# ipfs添加文件后,会给出一个cid

image.png
圈起来的部分是cid值,访问文件用得上。
5.启动ipfs

ipfs daemon

访问ipfs webui:http://0.0.0.0:5001/webui
访问文件:http://0.0.0.0:8080/ipfs/{cid}
启动ipfs后,访问webui时页面提示“无法连接到ipfs”,修改API配置,添加"Access-Control-Allow-Origin": ["*"]选项,允许跨域访问。

{
  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": ["*"]
    }
    },
}

6.ipfs后台启动与服务

cd /lib/systemd/system/
vim ipfs.service

修改内容:

[Unit]
Description=IPFS
[Service]
ExecStart=/usr/local/bin/ipfs daemon
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target

启动服务:systemctl start ipfs

最后修改:2022 年 09 月 11 日
如果觉得我的文章对你有用,请随意赞赏