ipfs原理与实践学习笔记

简介: ipfs原理与实践学习笔记
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

15.修改内容 用12,13,14 实现通过ID访问变化的内容

相关文章
|
C++ 芯片 编译器
STM32F103标准外设库—— 新建工程与库函数(四)
STM32F103标准外设库—— 新建工程与库函数(四)
480 0
STM32F103标准外设库—— 新建工程与库函数(四)
|
机器学习/深度学习 开发框架 .NET
YOLOv5的Tricks | 【Trick6】学习率调整策略(One Cycle Policy、余弦退火等)
YOLOv5的Tricks | 【Trick6】学习率调整策略(One Cycle Policy、余弦退火等)
4181 0
YOLOv5的Tricks | 【Trick6】学习率调整策略(One Cycle Policy、余弦退火等)
|
数据采集 搜索推荐 前端开发
哪些SPA 框架在 SEO 方面有优势?
【10月更文挑战第2天】
471 116
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
769 5
|
项目管理 iOS开发 UED
Mac用户必备的任务管理软件!三款高效工具推荐
本文介绍了Mac系统在项目管理和任务管理方面的独特优势,包括用户体验、系统生态整合和隐私安全等方面。针对Mac用户的需求,推荐了三款高效任务管理软件:板栗看板、OmniFocus和Things 3。板栗看板适合团队协作,OmniFocus适合高需求的个人用户,Things 3则以简洁美观的界面和易用性著称。文章详细分析了每款软件的特点和适用场景,帮助用户选择最合适的工具。
649 6
|
安全 网络协议 网络安全
Cisco-扩展ACL访问控制列表
Cisco-扩展ACL访问控制列表
242 1
|
存储 机器学习/深度学习 算法
Adam-mini:内存占用减半,性能更优的深度学习优化器
论文提出一种新的优化器Adam-mini,在不牺牲性能的情况下减少Adam优化器的内存占用。
462 10
Adam-mini:内存占用减半,性能更优的深度学习优化器
|
开发工具 git 开发者
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
4029 6
|
Go API 区块链
docker部署IPFS私有链
docker部署IPFS私有链