当前位置: 首页 > news >正文

新书推荐 |《IPFS原理与实践》

新书推荐

《IPFS原理与实践》

长按二维码
了解及购买

国内IPFS技术专家董天一、戴嘉乐等撰写,系统讲解IPFS/Filecoin原理与工程实践,IPFS官方高度评价并推荐。

编辑推荐

1. 本书得到了IPFS和FileCoin创始人兼协议实验室创始人Juan Benet高度评价并作序推荐。

2. 三位作者是国内首批IPFS/Filecoin技术的布道者,坚持至今,在社区剖有影响力。

3. 作者们累计在中国各地(包括香港)举办IPFS/Filecoin相关的线下沙龙30余场,为IPFS/Filecoin在中国的普及和推广做了巨大贡献。

4. 本书内容相当扎实,从实现原理和工程实践两个维度深入讲解IPFS/Filecoin,得到了IPFS官方(协议实验室)的高度认可和推荐。

内容简介

这是一部从实现原理和工程实践两个维度深入讲解IPFS和Filecoin的著作。作者是中文社区内非常有影响力的3位IPFS/Filecoin布道者。本书得到了IPFS&Filecoin创始人以及IPFS官方(协议实验室)的高度认可和强烈推荐。

为最大化满足读者需求,书中不仅介绍了IPFS技术细节、区块链相关知识、Filecoin项目技术细节,还加入了大量作者们在开发中的经验和技巧。为了适配当下及未来较长时间内读者的实际使用环境,书中所有案例都是基于生态链中较新的软件开发工具和前沿的软件开发技术编写的。

作者简介

董天一(飞向未来)

毕业于北京大学软件工程专业,资深IPFS技术专家、架构师,国内IPFS、Filecoin技术领域的先驱者和布道者,过去两年在国内举办相关线下活动30余场,对 IPFS 技术在中国的推动和普及起到了关键作用,在 IPFS 社区享有很高的声誉。

现就职于电商行业,在中型电商系统的架构、设计与实现方面有丰富的经验,擅长高并发、微服务、ServiceMesh等技术。曾就职于Oracle亚洲研发中心,专注于数据库相关的设计与开发工作。

资深区块链技术专家,早期的参与者,对区块链和分布式存储技术有着深刻的认识和见解,为多家大型上市公司提供过区块链技术的咨询和培训服务。

戴嘉乐

资深IPFS技术专家,国内首批IPFS技术布道师,“中国IPFS开发者沙龙”系列活动创办人。

毕业于电子科技大学软件工程专业,曾担任百度地图高级后端研发工程师,参与构建过高并发下的高可用分布式后端系统和基于地理围栏和实时通勤路线的位置推荐系统。

黄禹铭

国内IPFS和Filecoin领域早期的研究者、布道者和投资人。新加坡国立大学博士生,主要研究方向为分布式计算和区块链。目前的研究兴趣包括区块链的共识机制、证明机制和激励模型。

目录

推荐序

赞誉

前言

基础篇 认识IPFS

第1章 认识IPFS2

1.1 IPFS概述2

1.1.1 IPFS的概念和定义2

1.1.2 IPFS的起源4

1.2 IPFS与区块链的关系8

1.2.1 区块链基础8

1.2.2 区块链发展10

1.2.3 IPFS为区块链带来了什么改变14

1.2.4 Filecoin:基于IPFS技术的区块链项目15

1.3 IPFS的优势与价值16

1.3.1 IPFS的优势16

1.3.2 Filecoin与其他区块链存储技术的对比21

1.4 IPFS的应用领域23

1.5 本章小结25

原理篇 理解IPFS

第2章 IPFS底层基础28

2.1 分布式哈希表(DHT)28

2.1.1 Kademlia DHT29

2.1.2 Coral DSHT36

2.1.3 S/Kademlia DHT38

2.2 块交换协议(BitTorrent)41

2.2.1 BitTorrent术语含义42

2.2.2 P2P块交换协议43

2.2.3 阻塞策略44

2.3 版本控制(Git)46

2.4 自验证文件系统(SFS)54

2.4.1 SFS设计55

2.4.2 自验证文件路径57

2.4.3 用户验证58

2.4.4 密钥撤销机制58

2.5 Merkle DAG和Merkle Tree59

2.5.1 Merkle Tree60

2.5.2 Merkle DAG63

2.6 本章小结65

第3章 IPFS协议栈66

3.1 身份层(Identity)67

3.2 网络层(Network)68

3.3 路由层(Routing)69

3.4 交换层(Exchange)71

3.4.1 BitSwap协议71

3.4.2 BitSwap信用体系75

3.4.3 BitSwap策略75

3.4.4 BitSwap账单76

3.5 对象层(Object)77

3.6 文件层(File)79

3.7 命名层(Naming)83

3.7.1 IPNS:命名以及易变状态83

3.7.2 自验证命名83

3.7.3 人类友好名称84

3.8 本章小结85

第4章 IPFS模块解析86

4.1 Multi-Format86

4.1.1 Multi-Hash87

4.1.2 Multi-Base90

4.1.3 Multi-Addr92

4.1.4 Multi-Codec95

4.1.5 Multi-Stream 98

4.2 libp2p98

4.2.1 libp2p的功能99

4.2.2 libp2p核心原理101

4.2.3 libp2p的用途108

4.3 IPLD109

4.3.1 IPLD数据模型110

4.3.2 内容识别符(CID)112

4.3.3 CID解码规则115

4.4 本章小结116

第5章 Filecoin117

5.1 Filecoin项目简介117

5.1.1 Filecoin项目的起源117

5.1.2 Filecoin 项目的价值118

5.1.3 Filecoin的价值交换市场119

5.1.4 优化互联网的使用120

5.2 Filecoin与IPFS之间的关系120

5.3 Filecoin经济体系122

5.3.1 Filecoin 的分发与使用122

5.3.2 Filecoin 矿工收益结构123

5.4 Filecoin技术体系总览124

5.4.1 Filecoin系统基本概念125

5.4.2 Filecoin交易市场运行简介125

5.4.3 Filecoin区块链数据结构127

5.4.4 Filecoin 区块链运行原理129

5.5 去中心化存储网络协议(DSN)130

5.5.1 Put、Get、Manage操作130

5.5.2 拜占庭问题与存储错误133

5.5.3 DSN协议中的两类基础操作134

5.5.4 存储节点操作协议138

5.5.5 检索节点操作协议141

5.5.6 网络操作协议143

5.6 Filecoin交易市场145

5.6.1 存储市场146

5.6.2 检索市场148

5.7 Filecoin 区块链共识机制151

5.7.1 共识机制概述151

5.7.2 共识机制要解决的3个问题152

5.8 复制证明(PoRep)和时空证明(PoSt)157

5.8.1 存储证明的6种定义157

5.8.2 存储证明成员159

5.8.3 复制证明(PoRep)160

5.8.4 时空证明(PoSt)163

5.8.5 复制证明 PoRep和时空证明PoSt的实现164

5.9 网络攻击与防范173

5.10 其他特性176

5.10.1 Filecoin智能合约176

5.10.2 Bridge互联系统177

5.11 本章小结177

实战篇 应用IPFS

第6章 IPFS开发基础180

6.1 安装IPFS180

6.1.1 通过安装包安装180

6.1.2 通过Docker安装183

6.1.3 通过ipfs-update安装184

6.2 IPFS仓库配置初始化185

6.2.1 初始化185

6.2.2 访问配置文件186

6.3 与IPFS文件系统进行交互190

6.4 加入IPFS网络环境193

6.5 与HTTP Web交互195

6.6 API使用 196

6.6.1 IPFS命令行用法197

6.6.2 IPFS协议实现扩展200

6.6.3 IPFS端API200

6.7 本章小结202

第7章 IPFS开发进阶203

7.1 在IPFS中发布动态内容203

7.2 持久保存IPFS网络数据206

7.3 操作IPFS Merkle DAG208

7.3.1 创建Merkle DAG结构208

7.3.2 组装子块数据209

7.3.3 块与对象的区别210

7.3.4 操作Block210

7.3.5 操作Object211

7.4 IPFS Pubsub功能的使用212

7.5 私有IPFS网络的搭建与使用215

7.5.1 环境准备216

7.5.2 共享密钥216

7.5.3 上传密钥至节点217

7.5.4 添加启动节点217

7.5.5 启动并查看各个节点217

7.6 本章小结219

第8章 IPFS项目实战220

8.1 利用go-ipfs优化Git分布式服务220

8.1.1 依赖安装221

8.1.2 初始化Git仓库222

8.1.3 IPFS网络挂载223

8.1.4 用Git从IPFS网络克隆仓库225

8.2 基于js-ipfs搭建一个流媒体播放系统227

8.2.1 构建Node.js开发环境227

8.2.2 使用Webpack构建项目229

8.2.3 开发播放器模块231

8.2.4 开发状态栏模块233

8.2.5 引入js-ipfs模块235

8.2.6 实现拖拽上传237

8.2.7 从IPFS中读取流媒体至播放器238

8.2.8 处理流媒体播放状态240

8.2.9 开发总结241

8.3 本章小结242

你与世界

只差一个

公众号

相关文章:

  • 微服务架构之「 下一代微服务 Service Mesh 」
  • 新书推荐 |《OpenCV 4计算机视觉项目实战(原书第2版)》
  • 一文看懂用R语言读取Excel、PDF和JSON文件(附代码)
  • 新书推荐 |《好设计,有方法:我们在搜狐做产品体验设计》
  • 新书推荐 |《广告数据定量分析:如何成为一位厉害的广告优化师》
  • 用Python给女友准备个绝对甜蜜的七夕礼物
  • 新书推荐 |《机器学习即服务:将Python机器学习创意快速转变为云端Web应用程序》...
  • 搞定这个月薪50K的AI热门领域,看这9本书就够了
  • 新书推荐 |《强化学习:原理与Python实现》
  • 智能生产之路(一):从计算机集成制造到精益生产再到工业 4.0
  • 这是一份所有人都适用的DevOps书单
  • 新书推荐 |《TensorFlow机器学习实战指南(原书第2版)》
  • CIC 2019 回顾:行业洞察与数字化转型的未来
  • 新书推荐 |《区块链工程实践:行业解决方案与关键技术》
  • 如何打造高质量的NLP数据集
  • 【Leetcode】101. 对称二叉树
  • angular组件开发
  • Flannel解读
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • github从入门到放弃(1)
  • Hibernate【inverse和cascade属性】知识要点
  • React-生命周期杂记
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Unix命令
  • 闭包--闭包作用之保存(一)
  • 二维平面内的碰撞检测【一】
  • 老板让我十分钟上手nx-admin
  • 数据可视化之下发图实践
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • # 数论-逆元
  • #NOIP 2014#Day.2 T3 解方程
  • #WEB前端(HTML属性)
  • (3)nginx 配置(nginx.conf)
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (SpringBoot)第二章:Spring创建和使用
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)德国人的记事本
  • *** 2003
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .jks文件(JAVA KeyStore)
  • .NET CLR Hosting 简介
  • .net web项目 调用webService
  • .NET 简介:跨平台、开源、高性能的开发平台
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • []常用AT命令解释()
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [Android 13]Input系列--获取触摸窗口
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn