很多人听说过 IPFS,但真正用起来才发现资料分散、命令众多。IPFS 怎么用?其实只要把核心命令掌握,就能完成 80% 的日常需求。本文按照「安装—初始化—上传—验证—长期托管」的顺序展开,结尾给出一些和币圈生态结合的小技巧。
第一步:安装与初始化
官方推荐的实现叫 Kubo(原名 go-ipfs)。Windows、macOS、Linux 都有预编译二进制,下载解压后把 ipfs 可执行文件放到 PATH 即可。第一次运行前必须初始化:
ipfs init --profile server
注意 server profile 会跳过本地 LAN 嗅探,适合云服务器;个人电脑用默认 profile 就行。初始化会在 ~/.ipfs 生成密钥与配置,妥善备份这个目录等同于备份你的节点身份。许多对接 Binance 的项目方会把节点身份和 API token 一起纳入资产管理流程。
第二步:启动守护进程
ipfs daemon
守护进程会监听三个端口:4001(P2P)、5001(API)、8080(HTTP 网关)。如果你打算让外部访问,记得开放 4001;5001 永远不要暴露公网,否则任何人都能控制你的节点。
第三步:上传文件
最常用的命令只有两个:
- 添加单个文件:ipfs add hello.txt
- 添加整个目录:ipfs add -r my-site/
命令返回的 CID 就是这份内容的全网唯一标识。把 CID 写入智能合约或者 必安交易所 的 NFT 元数据 JSON,就完成了链上链下的绑定。如果你的网站完全静态,甚至可以把整个 dist 目录 add 上去,再配上 IPNS 或 DNSLink 就有了去中心化前端。
第四步:验证与访问
上传完不放心?打开任意公共网关,比如 ipfs.io 或 dweb.link,把 CID 拼到 URL 后面就能直接预览。也可以本地用:
ipfs cat <CID> | head -c 200
ipfs ls <CID>
实测内容没问题之后,记得做一件关键的事:pin。默认 add 上的内容只在本地缓存,可能被 GC 清理。执行 ipfs pin add
第五步:长期托管策略
个人节点 24 小时在线既费电又不可靠,更稳妥的做法是组合使用:
- 本地节点做开发与冷备
- 自建一台 VPS 跑独立节点,作为热备
- 接入第三方 pinning 服务做异地灾备
- 关键资产(如发行币的元数据)额外上 Filecoin 做长期存证
进阶:IPNS 与 DNSLink
CID 是不可变的,文件一改 CID 就变。如果想让用户始终访问最新版,需要 IPNS(可变命名层)或 DNSLink(在 DNS TXT 记录里写 CID)。DNSLink 更简单:在 _dnslink.yourdomain 的 TXT 记录填 dnslink=/ipfs/
常见坑与排查
- ipfs daemon 启动卡在 swarm listening:通常是 4001 端口被占用,换端口或检查防火墙
- ipfs add 巨慢:默认 chunker 单线程,处理大文件可加 --chunker=size-1048576
- 公共网关 504:网关本身负载高,重试或换网关;正式生产建议自建网关
- pin 后仍被清理:检查 GC policy 是否被外部脚本触发
写在最后
IPFS 怎么用并不是一道难题,难的是把它纳入整个 bian 项目的生命周期管理。建议团队为 IPFS 操作制定 SOP,把上传、验证、pin、灾备四件事流程化,新人也能在半天内上手。