>文章来自于:https://reading.developerlearning.cn/reading/60-2019-09-19-ipfs-guide/
分享者:xcshuan
## 观看视频
https://youtu.be/7xEWKaTE2TI
## Go 夜读第 60 期 IPFS 星际文件系统
## 背景介绍
传统的 HTTP 都是通过资源定位符来定位,在服务器关闭后,有些数据可能会永远丢失,而且如果某客户离服务器比较远,则可能延时较高。IPFS 提出使用基于内容寻址,只要拥有 hash 且网络上有人存储此数据,即可获得数据,同时自带 CDN 效果(热数据会自动分散)。
## 内容简介
主要介绍一下 ipfs 的基本思想与使用,并分析源码结构以及粗略介绍相关兄弟项目(如 multiformats,filecoin 等)
## 内容大纲
- IPFS 的底层技术原理。
- IPFS 源码概述。
- 超越 IPFS - 区块链存储简述。
- Q&A。
## 分享地址
2019-09-19, 21:00 ~ 22:10, UTC+8
https://zoom.us/j/6923842137
## 进一步阅读的材料
- [IPFS paper](https://github.com/ipfs/ipfs/tree/master/papers/ipfs-cap2pfs)
- [源码](https://github.com/ipfs/go-ipfs)
- [PPT](https://docs.google.com/presentation/d/13tYOTVMIT1fwkfZHwoe0qYUZMeYhQX9p_WiY5TOmbEY/edit?usp=sharing)
- [预习资料](https://segmentfault.com/a/1190000020392149)
请点击:https://github.com/developer-learning/reading-go/issues/460
## Q&A 总结
1. IPFS 是如何组网的?
答:IPFS 的底层网络库是 Libp2p,Libp2p 的路由算法是 S-KadDHT(分布式哈希表),只要能连接到网络中的几个节点,通过节点发现与交换,很容易就能进入到网络里,所以需要设置 bootstrap 节点作为连接种子。对于个人或公司想用 IPFS 组网,可以用 `swarm.key` 组建一个私网(需要指定一bootstrap),即可实现内部的 IPFS 网络。
2. IPFS 如何实现模糊搜索?
答:首先 IPFS 的 DAG 节点里面都是有一个 name 项,此外还有一些其他的信息可以解析,这样的话可以爬取这些元数据信息,用一些搜索引擎工具即可模糊搜索,开源实现:[https://github.com/ipfs-search/ipfs-search](https://github.com/ipfs-search/ipfs-search),可以用来当做参考。
3. IPFS 其他的相关资料。
中文资料,有一本《IPFS 原理与实践》,其次有一个 github 仓库:[https://github.com/xipfs/IPFS-Internals](https://github.com/xipfs/IPFS-Internals),还有 IPFS 的各种命令解释:[http://cw.hubwiz.com/card/c/ipfs/1/1/1/](http://cw.hubwiz.com/card/c/ipfs/1/1/1/)
英文首先有官方文档:[https://github.com/ipfs/specs](https://github.com/ipfs/specs),[https://github.com/filecoin-project/specs](https://github.com/filecoin-project/specs),一个教程:[https://flyingzumwalt.gitbooks.io/decentralized-web-primer](https://flyingzumwalt.gitbooks.io/decentralized-web-primer) 。
---
有疑问加站长微信联系(非本文作者)