通过 3 个简单的步骤将您的文件迁移到 Infura 新的 IPFS 服务上
如果您是现有的 Infura IPFS 用户或目前正在自托管您的数据,并想迁移到新的 Infura IPFS 服务上,本教程将会按步骤教您实现。
新的 Infura IPFS 服务更可靠,性能更强,并有一系列令人兴奋的新功能。
- 一个包含所有重要统计信息 (使用量、存储大小等) 的 project 操作面板。
- Pinning/Unpinning API
- 定期在后台将您的文件发布到 IPFS P2P 网络中,保证您的内容可以在全球范围内被访问。
第1步 - 创建您的 Infura IPFS Project
访问 https://infura.io 注册一个新的帐户 (如果您还没有),并按照说明创建您的 IPFS project。
注册后,您将被重定向到设置页面,在那里您可以找到您的凭证:PROJECT_ID + PROJECT_SECRET。
第二步 - 安装 ipfs-copy
工具
从 Github Release v1.0.0 下载您操作系统对应的预编译二进制文件。
或者, 您可以直接通过 go 来重新构建。
使用 go get
:
go get -u github.com/INFURA/ipfs-copy
或者直接克隆源码来重新编译:
git clone <https://github.com/INFURA/ipfs-copy.git>
cd ipfs-copy
make install
验证是否安装成功:
ipfs-copy version
> ipfs-copy version: 1.0.0
对于下一步,您有两个选择,取决于您是想把现有的 Infura 托管数据 pin 到您的 project 上,还是从其他的 IPFS 节点迁移数据。
第三步 - 数据迁移
如何 pin 托管在 Infura 上的 IPFS 数据
如果您只想 pin 少量的 CID (content identifier),您可以通过 Infura 做 IPFS 服务的额外登陆认证,手动调用标准的 IPFS API。
这里是一个使用 cURL 进行 API pinning call 的样例:
curl -X POST -u "YOUR_PROJECT_ID:YOUR_PROJECT_SECRET" "<https://ipfs.infura.org:5001/api/v0/pin/add?arg=YOUR_IPFS_CID>"
如何您有数十、数百甚至数千的 CID,您可以把这些 CID 放在一个单独的配置文件中,然后运行 ipfs-copy
工具。
创建一个包含 IPFS CID 的配置文件,每个 CID 通过换行符 \n 分隔。
样例配置文件:
QmaEZGiDrS7kDXMxbmpamrX1sPHZUM61a3YpjDoyaC3yfJ
QmTeRJXx623WwsoDk4371kh3JKCjoDcoWrqrhY9ekRasjE
QmUsQxC5bsgX53WhQ11DkxyB4uPYLEpdgmidFhGgUFK5aK
ipfs-copy
命令会读取您所有包含 CID 的配置文件,然后通过多个工作线程并行地将他们 pin 到您的 Infura IPFS project 中。
ipfs-copy --cids=/home/xxx/Documents/ipfs-cids.txt --project-id=<YOUR_PROJECT_ID> --project-secret=<YOUR_PROJECT_SECRET>
如何从另外一个节点中迁移数据
如果您当前的数据自托管在一个 IPFS 节点中,您依然可以进行迁移!Infura 会帮您搞定所有关于 IPFS 的基础设施和管理,您可以全神贯注地做好您的业务。
ipfs-copy
命令将会遍历源节点中的所有 pin,复制其内容块,同时将它们 pin 到您的 Infura IPFS project。
ipfs-copy --source-api-url=http://localhost:5001 --project-id=<YOUR_PROJECT_ID> --project-secret=<YOUR_PROJECT_SECRET>
恭喜您!您已经完成了向新的 IPFS 服务的迁移!
打开您的 Infura project 的操作面板,即可查看所有的数据,文件大小或它们的使用情况。