前 言
想一睹当红“区块链”的原貌与风采吗?
想了解区块链底层蕴含了哪些核心技术吗?
想体验区块链可能商业应用的实际案例吗?
想在这波区块链的浪潮中亲力亲为、实现自己的理想吗?
本书有助于你所愿成真!
本书分为6章,包含漫谈区块链、搭建以太坊私有链、初探智能合约、深入探讨智能合约、与DApp共舞的Web3j Java以及Java DApp个案设计。
第1章为漫谈区块链,以说书的方式带领你迅速进入区块链的奇幻世界;接着介绍一些相关的概念与技术,包括众所周知的比特币、以太坊、加密货币等;最后聊聊金融产业Fintech的应用以及几个由区块链技术延伸而来的新商业模式。
第2章介绍当前区块链的主轴——以太坊。本章首先通过循序渐进的方式指导你如何启动以太坊客户端软件(节点程序),来连接公有以太坊区块链主链与测试链,以及搭建私有链。接着说明具图形化界面的以太坊钱包软件的用法、节点与节点的连接技术,以及如何使用权威证明(Proof-Of-Authority,POA)共识机制的Ethereum-Parity节点程序。在具备动手搭建以太坊私有链的技能之后,即可正式进入本书区块链的核心——智能合约的殿堂了。
第3章和第4章为智能合约之初探与深入探讨。第3章先通过实现一个“Hello World”的以太坊智能合约,并将其部署到私有链上来介绍智能合约的基本概念,进而解说如何让智能合约与链外系统的应用软件进行连接。在体验智能合约的奥妙后,第4章将深入解说智能合约的内部架构与运行方法,包含算法的缘由与组成、智能合约Solidity程序语言的变量类型、函数声明以及事件处理等。随后讲解区块链技术的ICO(Initial Coin Offering)新兴融资方式以及智能合约标准协议ERC(Ethereum Request for Comment,直译为“以太坊的意见征求稿”)。最后以一个案例带领你实际体会发行ICO的融资和投资过程。
第5章将深入探讨区块链另一核心技术——DApp(Decentralized Application,去中心化应用程序)。本章先介绍如何运用当前DApp最受瞩目的Java开发方案Web3j来开发前端操作界面以串接区块链上的智能合约;接着探讨区块链Oracle网关技术,如何让链下系统与链上的智能合约连通与协同工作,实现真正分布式计算的境界,真实体验区块链的 “活力”。
最后一章为本书压轴之作,也是本书异于同类书籍的最大之处——Java DApp个案设计,我们以7个当前广受重视的主题(公共政策、竞标拍卖、真实新闻、供应链金融、自动医疗理赔、共享经济以及点数经济)带领你开发相关的DApp实例,以达到抛砖引玉之效,或许可助你埋下日后实现商业应用的种子。
区块链源于多项往昔成熟的信息技术的综合,才成就了如今丰富多彩的解决方案。初学者常常受到众多专有名词、函数名称、变量等的困惑,因此本书附录A提供区块链专有名词的解释,附录B整理本书所用到的Web3j、Solidity以及Web3.js三大方案的文件说明,希望能协助你轻松驾驭区块链技术。
本书撰写的素材取自于我们在EMBA“信息管理”、信息管理系“Java网络应用”、企业管理所“企业智慧”等课堂授课的讲义,以及结合业界实际案例的经验。本书的编写和组织方式尽可能根据课堂上轻松活泼的方式呈现,以降低你对专门术语与相关技术的门槛。本书适用于大专院校区块链相关课程的授课、业界培训,以及所有对区块链感兴趣的自学者参考。本书还为各章都附有习题,以提供授课老师课堂之需,以及自学者作为自我挑战和自我评测之用。本书内容的编撰以实用性为首要考虑因素,章节单元的独立性次之,这与我们过去编撰的一系列共六册Java相关书籍的编写风格一致,期望对有心一窥区块链奥秘的你有实质上的帮助。
本书各个章节的范例程序下载地址可以扫描下方二维码获得。
如果下载有问题,请电子邮件联系booksaga@163.com,邮件主题为“区块链智能合约与DApp实务应用”。
