IPFS入门

IPFS应用场景

  • 在/ipfs和/ipns下挂载全球文件系统
  • 挂载的个人同步文件夹,拥有版本管理功能
  • 可用于所有软件的带版本的包管理器
  • 可以作为数据库
  • 可以做加密通讯平台
  • 各种类型的CDN
  • 永久的Web,不存在不能访问的链接

初始化

1
2
3
4
5
6
7
PS C:\Users\dell\.ipfs> ipfs init
generating ED25519 keypair...done
peer identity: 12D3KooWFMmNSRNZPHCYfbTcdAR33SYEwdAmkKaVARTPFpWRNnAP
initializing IPFS node at C:\Users\dell\.ipfs
to get started, enter:

ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

命令

基本命令

1
ipfs daemon ##使用节点联机
1
ipfs swarm peers ##查看网络中可连接的节点
1
ipfs id ##查看自己的id信息
1
ipfs config show ##查看全部信息

发布/获取命令

返回的字符串是一个哈希值

1
2
ipfs add test.txt ##上传一个文本文件
##返回 added QmR8ExMzbNJF7zFBbxQ3r21UnBrz6HknAMcSZ7en1fURWZ test.txt
1
2
ipfs -q add test.txt ##上传一个文本文件
##返回QmR8ExMzbNJF7zFBbxQ3r21UnBrz6HknAMcSZ7en1fURWZ
1
2
ipfs cat QmR8ExMzbNJF7zFBbxQ3r21UnBrz6HknAMcSZ7en1fURWZ ##查看文本内容
##返回 hello CK
1
2
ipfs add test.png ##上传一个图片文件
##返回 added QmfB8LN7gfy8bcDVGYfCRDvzKFXvpaFtQkDHCJpNBsstwg test.png
1
2
ipfs cat QmfB8LN7gfy8bcDVGYfCRDvzKFXvpaFtQkDHCJpNBsstwg > test.png ##保存到指定的文件名中
Qmc9jgChwa2qytc7Leo8WQkGDPz3wKZHZoBJFKZmS6rQRA

也可以用get命令保存文件

1
2
3
4
ipfs get Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u ##二进制
ipfs get Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u -o test.png ##.png类型
ipfs get Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u -ao test ##压缩包类型
ipfs get Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u -Cao test ##小一点的压缩包类型

文件/文件夹操作命令

1
ipfs files mkdir /CK ##创建名为CK的文件夹
1
ipfs add -r /本地文件夹名 ##上传文件夹
1
ipfs files cp /ipfs/文件或文件夹的哈希 /CK ##拷贝文件,将文件映射到名为CK的文件夹
1
ipfs files rm -r /文件夹名 ##删除文件夹
1
ipfs files read /文件名 ##获取内容
1
ipfs files read /文件名 > 文件名 ##获取内容映射到指定本地文件中
1
ipfs files ls ##获取文件列表
1
ipfs files ls -l ##获取文件列表及哈希值、大小
1
ipfs files stat /文件夹或文件名 ##获取指定文件或文件夹的哈希、类型、分块数、大小
1
ipfs files mv /文件或文件夹名 /文件夹名 ##移动文件或文件夹到指定文件夹