描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111626015
本书是一本系统介绍区块链理论知识和应用开发的教程。全书共8章,主要包括两部分的内容,区块链理论知识(1~3章):区块链概述、区块链中的密码学以及区块链的核心机制;区块链应用开发(4~8章):打造自己的区块链——基于Python、以太坊之DApp开发实战、超级账本开发实战、EOS开发实战以及区块链综合应用开发实践。本书在系统介绍区块链理论知识的基础上,结合丰富的案例进行实践操作的讲解,力求引领读者在实践中深入理解区块链技术,掌握基于主流的区块链平台开发区块链实际应用的能力。本书可以作为区块链开发者的自学用书,也可作为开设区块链开发相关课程的各类院校、培训机构的教材。本书相关代码可以在https://github.com/flingjie/learning-blockchain获取。
前言第1章 区块链概述1
1.1 什么是区块链1
1.1.1 区块链的概念2
1.1.2 区块的概念3
1.1.3 区块链的运行原理8
1.1.4 生成一个区块链8
1.2 区块链的技术构成与逻辑架构14
1.2.1 区块链的技术构成14
1.2.2 区块链的逻辑架构16
1.3 区块链的分类20
1.3.1 公有链、联盟链和私有链20
1.3.2 侧链和闪电网络21
1.4 区块链的特点21
1.5 区块链的发展历程22
1.6 区块链的典型应用24
1.6.1 加密数字货币的代表——比特币24
1.6.2 智能合约鼻祖——以太坊25
1.6.3 迪士尼区块链平台——龙链26
1.6.4 Linux基金会的开源账本——Hyperledger27
1.6.5 区块链操作系统——EOS28
1.7 区块链技术现状及展望29
1.7.1 区块链技术的现状29
1.7.2 未来的区块链30
第2章 区块链中的密码学31
2.1 哈希算法和哈希值31
2.1.1 什么是哈希算法和哈希值31
2.1.2 哈希算法的特点32
2.1.3 哈希算法的应用33
2.2 区块链中的加密学35
2.2.1 加解密算法36
2.2.2 椭圆曲线密码学36
2.2.3 Merkle树37
2.2.4 数字签名和数字证书38
第3章 区块链的核心机制40
3.1 共识机制40
3.1.1 共识问题的产生——拜占庭将军问题40
3.1.2 几个重要的共识机制43
3.2 账户、钱包和交易48
3.2.1 账户的概念48
3.2.2 钱包简介50
3.2.3 交易的过程51
3.3 智能合约53
3.3.1 智能合约的概念53
3.3.2 智能合约的特点和作用54
3.3.3 智能合约的应用场景54
第4章 打造自己的 一个区块链——基于Python56
4.1 Python基础56
4.1.1 Python简介56
4.1.2 Python基础语法66
4.1.3 Python区块链开发常用库70
4.2 基于Python实现区块链73
4.2.1 区块链原型的实现73
4.2.2 区块链之工作量证明75
4.2.3 钱包、账户和交易功能79
4.2.4 实现一个简单的分布式网络85
4.2.5 测试区块链网络功能89
第5章 以太坊之DApp开发实战92
5.1 什么是Dapp(去中心化应用)92
5.1.1 DApp的概念92
5.1.2 DApp的特点93
5.2 智能合约的开发以及使用96
5.2.1 本地以太坊环境的搭建97
5.2.2 Solidity语言简介106
5.2.3 智能合约的开发107
5.3 Truffle框架113
5.3.1 Truffle框架介绍113
5.3.2 Truffle的安装和常用命令113
5.3.3 Truffle中模板的使用115
5.4 DApp开发实例1——猜拳游戏117
5.5.1 使用Truffle创建项目117
5.5.2 智能合约实现118
5.5.3 猜拳游戏UI的实现120
5.6 DApp实例2——宠物商店123
5.6.1 宠物商店功能简述123
5.6.2 准备工作123
5.6.3 智能合约的实现和部署125
5.6.3 宠物商店的完整实现126
第6章 超级账本开发实战129
6.1 超级账本的架构129
6.1.1 超级账本的架构129
6.1.2 超级账本Fabric的架构132
6.1.3 超级账本的特点134
6.2 搭建超级账本开发环境134
6.2.1 Go语言简介及开发环境安装134
6.2.2 Docker简介及使用135
6.2.3 超级账本的本地环境安装140
6.3 Chaincode的开发使用141
6.3.1 什么是Chaincode141
6.3.2 Chaincode的开发使用142
6.3.3 Chaincode的打包143
6.4 超级账本开发实例一——建立一个Fabric网络144
6.4.1 构建 一个Fabric网络144
6.4.2 与Fabric网络的交互145
6.4.3 查询和更新超级账本148
6.5 超级账本开发实例二——fabcar区块链应用149
6.5.1 fabcar功能概述150
6.5.2 fabcar结构说明150
6.5.3 fabcar的开发和部署151
第7章 EOS开发实战158
7.1 EOS简介158
7.1.1 什么是EOS158
7.1.2 EOS的架构和特点158
7.2 EOS开发环境搭建160
7.3 EOS开发实例1——HelloWorld166
7.4 EOS实例2——一个简单的许愿树DApp169
第8章 区块链开发综合应用实践180
8.1 以太坊数据查询分析系统180
8.1.1 准备对接环境180
8.1.2 对接以太坊接口185
8.1.3 创建Flask应用189
8.1.4 实现查询和分析功能191
8.2 ERC20代币开发实例198
8.2.1 ERC20代币介绍198
8.2.2 ERC20代币开发——Mini Token199
8.3 基于Opensea平台的开发数字资产“加密猪”205
8.2.1 OpenSea介绍205
8.2.2 开发加密猪206
前言区块链技术是近些年来最热门的前沿技术,被认为是未来十几年对银行、金融、物联网、医疗等诸多领域产生最大影响的“黑科技”之一。
“区块链”这个概念是由一个网名为中本聪的人在2008年发表的《比特币白皮书》中提出的。随后他实现了一个比特币系统并发布了加密数字货币比特币,接下来又出现了以太坊和超级账本项目这样的大型项目。区块链技术引起了全球范围内的广泛关注,并以势不可挡的姿态影响着全社会的发展趋势。
目前区块链正在处于迅猛发展阶段,急需区块链方面的技术人才参与到这个发展潮流中。当目前市场上缺乏区块链相关简单易懂又实践性强的技术教程。本人尝试写一本最好懂最实用的区块链教程,文中的错误和不准确的地方,欢迎大家指正。
内容组织与阅读建议本书主要可分为两部分,第一部分是理论篇,介绍区块链技术的概念、原理、架构设计历史;第二部分是实践篇,在掌握理论知识后结合丰富的实践案例进行操作,在实践中深入理解区块链技术,通过学习和实践主流的区块链平台和框架掌握区块链实际应用开发能力。
?第1章:区块链概述:从区块链的概念和原理说起,继而了解区块链的技术构成和分类,然后学习区块链的发展历史和典型应用。学完这一章后可以对区块链有一个整体的认识,明白区块链是什么,以及能做什么。
?第2章:区块链中的密码学:学习密码学知识,掌握区块链技术原理,包括椭圆曲线密码学、Merkle树、数字签名和数字证书等。
?第3章:区块链核心技术: 在这一章我们将了解和学习一下区块链核心技术,包括共识机制、账户交易和智能合约等。
?第4章:打造自己的第一个区块链——基于Python:开始动手实践区块链,基于Python实现一个功能完备的区块链系统。
?第5章:以太坊之Dapp开发实战:以太坊是专注于智能合约的区块链平台,在这一章中将学习以太坊中Dapp(去中心化应用)的概念和开发,并结合实例实现几个完整的Dapp。
?第6章:超级账本实战:
超级账本是一个开源项目,它提供一个成熟的商用区块链框架。在这一章中将了解它的概念、学习安装和使用。
?第7章:EOS开发实战:EOS是一个区块链操作系统,在这一章中,将一起学习什么是EOS,以及它的框架和特点。在了解了这些知识之后,再搭建一个本地开发环境,并通过实例学习EOS的开发流程。
?第8章:区块链开发综合应用实践:最后一章通过几个综合性的实例进一步介绍区块链技术的应用,讲解如何使用Python查询和分析以太坊数据以及ERC20和ERC721数字资产的开发。
本书特色本书一大特点是,结合区块链的开发实践,介绍了包括Python语言、Solidity语言、Go语言,Docker容器技术,前端开发技术在内的多种实际开发中经常用到的开发技术和开发工具。通过本书的学习,读者朋友不仅能快速上手开发区块链项目,更能初步了解、掌握多种非常实用的开发技术,非常有助于读者建立基本的开发能力,打下从事多种应用领域开发的能力。
需要说明的是,本书在介绍各类开发技术时重在实现功能、完成任务,内容实用,言简意赅,并未花费大量篇幅介绍相关理论和知识体系,为零基础或者有一定基础的读者朋友,打开通往区块链开发乃至软件开发的精彩世界的大门才是本书要达到的目标。
本书适用读者本书可以作为零基础区块链爱好者自学用书,也可作为开设区块链开发相关课程的各类院校、培训机构的教材。
配套资源本书案例的相关代码,读者可以访问https://github.com/flingjie/learning-blockchain自行获取。
致谢感谢每一位在茫茫书海中选择了本书的读者朋友,衷心祝愿您能够从本书中受益,学到真正需要的知识。同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足,并电子邮箱[email protected]与作者沟通和交流。
范凌杰 于上海2018年11月
评论
还没有评论。