关于本书
为什么要写这本书
随着比特币的火热,区块链正在成为比肩大数据、VR、机器学习等目前炙手可热的技术之一,世界各国政府、国际性大公司纷纷布局,试图把区块链用到实际中去。但是,区块链开发技术门槛高,可供学习参考的资料少,目前市场上的书籍大多是理论介绍性的,涉及到开发的书籍也多以简单的Api调用为主,没有一本深入区块链技术核心,从代码深度去完整讲述如何开发设计区块链产品的。本书弥补了这个空白,基于一个实际运行的区块链产品,从概念到实现,完整呈现了它的开发过程。
同时,就Node.js开发类书籍而言,市面上各种档次的书籍不在少数,但是多数使用假想的例子,应付了事,对真正的开发应用,没有太多的参考指导价值。本书,另辟蹊径,通过分享上述区块链产品的设计思路、设计方法,阅读它的源码设计,穿插讲述用到的相关知识,不仅整个过程都是实例代码,配合个别章节还开发了多个可独立运行的小应用。可以说,书中每一行代码都是实际在使用的代码,具备很强的实践参考价值。另外,本书也弥补了使用Node.js开发区块链应用这个书籍市场空白。
《Node.js开发加密货币》是本什么样的书?
亿书是完全开放开源的项目(官网见链接),一个完整的类比特币的区块链产品。本书基于该项目,完全以实用为目的,把开发实践贯穿始终,内容涉及到开发区块链产品前端、后台和桌面应用的全过程。是用开发的思维反复迭代的书籍,由浅入深,详细介绍了区块链技术相关理论知识、Node.js前后台开发基础知识、加密签名技术、P2P网络实现、共识算法等,能帮助初学者快速学习入门区块链技术,深入掌握Node.js编程开发技术,帮助区块链技术从业者、Web开发者更深刻的理解相关概念和技术实现。
- 想找如何开发一款真正的区块链产品(不单单是调用某款加密货币Api)的书籍吗?这是目前世界上第一本,也是唯一的一本;
- 想找Node.js大型实践项目的书籍吗?这可能是世界上少有的一本,也可能找不到第二本;
- 想找亿书、Lisk等基于Crypti的分支项目的详细开发文档吗?这一定是世界上唯一的一本;
- 想深刻了解区块链的技术实现吗?看看本书,对于掌握区块链、共识机制等各种概念更加透彻;
- 想从事区块链(无论比特币还是其他各类竞争币)的开发吗,Node.js您一定无法逾越,这本书也必然无法错过;
- 想了解比特币原理吗?这本书不仅告诉你是什么,还从技术角度告诉你为什么,无论你是技术还是管理,都值得参考。
怎么阅读本书
本书力图用最少的篇幅表述更丰富的内容,共分为五个部分20多个章节:
第一部分:了解加密货币,共4章。详细讲述了加密货币的相关概念,用独特的技术视角,把加密货币的基本技术要素串联起来,同时在文中自然引导读者跳转阅读下面各个部分,实现理论到实践的过度。
第二部分:Node.js入门指南,共4章。详细介绍了Node.js入门知识,并通过一个具体项目,完成对Node.js在区块链技术领域的调查和描述,整个章节也是项目架构设计必备的调研和技术选型阶段,是本书第一个完整的实践范例。
第三部分:源码解读,共9章。从架构设计的角度,层层剖析区块链的设计原理,深刻解读相关概念和技术。从项目设计的角度谋篇,第9章,详细介绍了亿书白皮书的核心内容,明确了项目的需求,教会读者如何着手研究区块链产品;第10章,从项目入口程序出发,介绍了亿书项目的整体结构;第11-17章,分别介绍了P2P网络、加密解密、签名和多重签名、区块链、共识机制等区块链核心内容及其代码实现。
第四部分:开发实践,共12章。主要是对第二和第三部分的有益补充,把在这两个部分出现的技术难点抽取出来,集中介绍。仍然以亿书项目中涉及到的实际项目为主,包含多个完整独立的小项目。第18章,总结了aysnc的用法,解决了Node.js回调流程控制问题;第19章,介绍了命令行工具的开发(含开源实例);第20-21章,介绍了亿书官方网站的开发,对市面上的静态网站进行了总结,通过两个实例详细介绍了客户端的开发设计;第22章,详细介绍了加密解密技术;第23章,介绍了测试技术;第24-25章,介绍了部署方案;第26-27,介绍了时间戳、数据计算等更加细致的优化内容;第28-29章,主要介绍了函数式编程等编程方法论,帮助读者从更深层次写代码(含实例)。
第五部分:附录。汇总了区块链的相关概念、常见词汇的中英文对照,以及代码规范等其他内容。