第 60 期 2019-09-19 IPFS 星际文件系统

观看视频

分享者

xcshuan

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://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,可以用来当做参考。

  3. IPFS 其他的相关资料。

中文资料,有一本《IPFS 原理与实践》,其次有一个 github 仓库:https://github.com/xipfs/IPFS-Internals,还有 IPFS 的各种命令解释:http://cw.hubwiz.com/card/c/ipfs/1/1/1/
英文首先有官方文档:https://github.com/ipfs/specshttps://github.com/filecoin-project/specs,一个教程:https://flyingzumwalt.gitbooks.io/decentralized-web-primer