前言

区块链技术是近些年来最热门的前沿技术,被认为是未来十几年对金融、物联网、医疗等诸多领域产生最大影响的“黑科技”之一。

“区块链”这个概念是由一个网名为中本聪的人在2008年发表的《比特币:一种点对点的电子现金系统》中提出的。随后他实现了一个比特币系统,并发布了加密数字货币——比特币,接下来出现了以太坊和超级账本这样的大型区块链项目。区块链技术在全球范围内引起了广泛关注,并势不可挡地影响着多个行业的发展趋势。

目前,区块链正处于迅猛发展阶段,急需区块链方面的技术人才。本人根据自己的实践经验,尝试写了这本易懂实用的区块链教程,希望能够帮助想学习区块链技术的朋友。

内容组织与阅读建议

本书主要分为两部分,第一部分是理论知识,介绍区块链技术的概念、原理、架构设计和发展历程;第二部分是应用开发,在掌握理论知识的基础上结合丰富的实践案例进行操作,在实践中深入理解区块链技术,通过学习和实践主流的区块链平台和框架,掌握区块链实际应用开发能力。

第1章:区块链概述:从区块链的概念和运行原理说起,继而介绍区块链的技术构成、逻辑架构和分类,然后介绍区块链的发展历程和典型应用。学完这一章可以对区块链有一个整体的认识,明白区块链是什么,能做什么。

第2章:区块链中的密码学:学习区块链中的密码学知识,掌握区块链技术原理,包括对称加密算法和非对称加密算法、椭圆曲线密码学、Merkle树、数字签名和数字证书等知识。

第3章:区块链的核心机制:这一章介绍了区块链核心技术,包括共识机制、账户交易和智能合约等。

第4章:打造自己的第一个区块链——基于Python:从本章开始进入动手实践区块链的阶段,本章基于Python实现一个功能完备的区块链系统。

第5章:以太坊之DApp开发实战:以太坊是专注于智能合约,开发并运行DApp的区块链平台,这一章介绍了以太坊中DApp(去中心化应用)的概念和开发,并实现了两个完整的DApp(猜拳游戏和宠物商店)。

第6章:超级账本开发实战:超级账本是一个开源项目,它提供了一个成熟的商用区块链框架。这一章介绍了它的概念、学习安装和使用,并通过超级账本中的几个实例学习掌握超级账本的开发过程。

第7章:EOS开发实战:EOS是一个区块链操作系统,这一章介绍了什么是EOS,以及它的框架和特点,并介绍了搭建一个EOS本地开发环境的过程,在此基础之上,通过实例(Hello World智能合约和许愿树DApp)介绍了EOS的开发流程。

第8章:区块链开发综合应用实践:通过讲解几个综合性的区块链开发实例,以太坊数据查询分析系统、ERC20代币、数字资产“加密猪”的开发,进一步介绍区块链技术的应用。

本书特色

本书一大特点是,结合区块链的开发实践,介绍了包括Python语言、Solidity语言、Go语言、Docker容器技术和前端开发技术在内的多种实际开发中经常用到的技术和工具。通过本书的学习,读者朋友不仅能快速上手开发区块链项目,更能初步了解、掌握多种实用的软件开发技术,非常有助于读者建立基本的开发能力,打下从事多种应用领域开发的基础。

需要说明的是,本书在介绍各类开发技术时重在实现功能,完成任务,并未花费大量篇幅介绍相关理论和知识体系,为零基础或者有一定基础的读者朋友,打开通往区块链开发乃至软件开发精彩世界的大门才是本书要达到的目标。

本书适用读者

本书可以作为零基础区块链爱好者自学用书,也可作为开设区块链开发相关课程的各类院校、培训机构的教材。

配套资源

本书配有所有案例的相关代码,读者都可以访问https://github.com/flingjie/learning-blockchain自行获取。

致谢

感谢每一位在茫茫书海中选择了本书的读者朋友,衷心祝愿您能够从本书中受益,学到真正需要的知识。同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足,并通过电子邮箱fanlingjie.cn@gmail.com与作者沟通和交流。

范凌杰 于上海

2018年11月