ipfs 是啥 有什么特点
1. InterPlanetary File System
是一个基于内容寻址的、分布式的、新型超媒体传输协议
2. BitTorrent、DHT、Git和SFS
分布式存储:
全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法
安全:
自验证功能的分布式文件系统(Self-certifying File System, SFS)
持续存储
速度快
hash-> ip-> object
ipsf 有啥用
ipsf 怎么用
实战
安装IPFS 下载zip 然后配置环境变量 就可以使用ipfs命令了
1. ipfs init
QmXkmqVt3B4oyxB9Hx7rHcyGm2fz5bVgNtB2kRCbznTJPv
C:\Users\aaa.ipfs
1.2 ipfs daemon 重启
2. ipfs config show或vim config命令来查看和编辑内容
3. ipfs add testipfs.txt 添加文件到ipfs
added QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH testipfs.txt
4. ipfs cat CID命令读取IPFS网络中的文件内容
4.1 http://127.0.0.1:8080/ipfs/cid访问
5. echo “version 1 of my text” | ipfs add 添加内容到IPFS文件系统中
added QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh
6. ipfs cat CID > testipfs.txt
如果后面的文件存在就会直接写入,不存在就会重新创建并把内容写入
ipfs cat QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh > testipfs.txt (存在)
ipfs cat QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh > othertestipfs.txt(不存在,新建)
以上总结:只要内容保持不变,将始终获得相同的哈希值
7.ipfs add -w testipfs.txt
第一个hash 和上面的一致
第二个hash:(IPFS Wrapped) 包括了与内容相关的目录和文件名等信息
added QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh testipfs.txt
added QmUuQx21RSyhmFCXkwrGpSRSEGUv7rX5QQowF6EUNg39mv
8. ipfs ls -v(可选项) 展示IPFS Wrapped包含的全部信息
ipfs ls -v QmUuQx21RSyhmFCXkwrGpSRSEGUv7rX5QQowF6EUNg39mv
hash | size | name |
QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh | 25 |
testipfs.txt |
9. 通过父目录内容哈希来获取文件内容
ipfs cat QmUuQx21RSyhmFCXkwrGpSRSEGUv7rX5QQowF6EUNg39mv/testipfs.txt
“version 1 of my text”
10. ipfs dht findprovs CID (无效)
查询有多少个节点存储了CID
ipfs dht findprovs QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh
11. ipfs id 查看id
12. IPFS命令发布一个内容,并赋予其动态变化
- echo “version 1 of my text” > test-ipns.txt
- ipfs add test-ipns.txt
13. ipfs name publish (add生成的hash) 命令挂载目标文件
- ipfs name publish QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh
- Published to QmXkmqVt3B4oyxB9Hx7rHcyGm2fz5bVgNtB2kRCbznTJPv: /ipfs/QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh
14. ipfs name resolve (13命令以后返回的数据) 绑定节点ID信息
- ipfs name resolve QmXkmqVt3B4oyxB9Hx7rHcyGm2fz5bVgNtB2kRCbznTJPv(节点ID)/ipfs/QmX834Ukz7fZ4FsvMjVPhtutdAkTUBkFEdfoUGvkB9t1wh
- 直接可以用ID访问 而不用CID
http://127.0.0.1:8080/ipns/QmXkmqVt3B4oyxB9Hx7rHcyGm2fz5bVgNtB2kRCbznTJPv(节点ID)
15.修改内容 用12,13,14 实现通过ID访问变化的内容