区块链开发入门指南 区块链入门书籍推荐

区块链技术如今是非常火热,不仅让金融家和创投家趋之若鹜,如今已经在多个领域遍地播种。作为拥有锐利触角的创业家们,是否也想将区块链集成到你们现有的应用中去,而作为IT技术工程师的你,是否也是跃跃欲试,想基于区块链来练一下手,以免日后被新技术淘汰?不过,区块链涉及如密码学和P2P等多种技术,区块链的技术门派众多,新鲜概念层出不穷;而另一方面,区块链技术的发展在全球范围内还都尚处在早期阶段,各种技术方案和应用场景等还需要进一步地探索和完善,导致很多人想运用区块链,都找不到突破口,应该学习哪些知识和技术呢,应该用什么样的区块链呢?

几个区块链底层平台給大家参考:

一、比特币

最早的区块链开发便是基于比特币的区块链网络进行开发了,由于比特币是全球最广泛使用和真正意义的去中心化,就区块链应用来说,比特币就是世上最强大的锚,拥有最大的权威性。因此,围绕比特币的各种区块链技术非常多,这里不一一描述,只针对入门级别开发的介绍。

基于比特币的区块链网络开发介绍两种方式,一种相对比较简单,基于Blockchain.info的API进行开发。Blockchain.info是比特币的最流行的比特币钱包和区块查询网站,同时也提供的比特币及其区块相关API。 Blockchain.info 提供了多种主流语言的API库,包括了比特币的钱包、支付、区块、交易数据、市场数据等多方面的API。

安装和使用Blockchain.info的API比较简单,首先你的机器需要有Node环境,在Blockchain.info的申请接口授权码,安装Blockchain Wallet API服务程序,就可以开始配置和测试Blockchain Wallet API服务程序了,要进一步开发,可以根据你的开发语言选择安装API的客户端支持库。

进一步的探索,可以采用Docker容器来快速安装和配置私有节点的比特币测试网络(bitcoin-testnet)作为开发试验环境,这样可以更深入了解、调试和使用比特币区块链网络。在Bitcoin的wiki网页上面,提供很多种语言都可以调用Bitcoin的RPC,大家选择适合自己的语言具体去试验,当然,Elwin仍然推荐你使用NodeJS。

具体流程是下载比特币测试网络的Docker镜像,运行Docker镜像并启动比特币测试网络,初始化和测试区块链数据,当然为了测试少不了要先挖矿储备一下。然后安装相关开发语言的RPC支持库后,就可以调试你的区块链程序了。

二、以太坊

可以说除了比特币外,以太坊目前在区块链平台是最吸引眼球的。 以太坊是一个图灵完备的区块链一站式开发平台,采用多种编程语言实现协议,采用Go语言写的客户端作为默认客户端(即与以太坊网络交互的方法, 支持其他多种语言的客户端)。

基于以太坊平台之上的应用是智能合约,这是以太坊的核心。每个智能合约有一个唯一的以太币地址,当用户向合约的地址里发送一笔交易后(这个时候就要消耗燃料费用,也就是手续费用),该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果。以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App),相对于冷冰冰的智能合约代码,DApp拥有一个友好的界面和外加一些额外的东西,配合上图灵完备的语言,可以让用户基于合约搭建各种千变万化的DApp应用,实际上,在以太坊APP展区,已经有大大小小280个的DApp应用在展示(虽然只有一部分应用在真正运行)。

要写以太坊的智能合约有好几种语言可选,有类Javascript的Solidity,Python接近的Serpent,还有类Lisp的LLL,目前比较主流的是Solidity,推荐大家使用。当Solidity合约编译好并且发送到网络上之后,你可以通过以太坊的Mist客户端对智能合约进行测试和使用,也可以使用以太坊的web3.js JavaScript API来调用它,构建能与之交互的web应用。

由于以太坊的知名度,所以很多社区大牛创造更加便捷的DApp开发框架和工具,包括Truffle、Embark、Meteor、BlockApps.net APIs,使得你可以快速开发你的Dapp。我的另外一篇文章《微软的那些区块链云服务》有提及,Embark和BlockApps.net两个区块链工具已经給整合到微软Azure BAAS服务中了。这几个框架和工具中,Elwin更推荐Embark,使用起来非常简单。

通过以太坊,你既可以搭建基于属于自己私链,也可以和合作伙伴一起搭建联盟链,又或者直接将应用部署在以太坊的公共网络中,Elwin要吐槽的是,使用以太坊Gas费用越来越高了,对于互联网的应用,是自己搭建以太区块链,还是使用以太公共网络,真是两难境地(以太坊宣称,以太币Ether价格上升时,那以太坊燃料的价格应该按比例下降,但好像并不是这样阿)。

几个主要入门步骤給大家简单介绍一下,首先你可以安装以太坊钱包客户端Ethereum Wallet,体验一下以太坊的钱包和智能合约,当中可以选择公共网络或测试网络(如果你没有或不想花费以太币)。如果你已经很熟悉这些了,那好,直接进入正题,准备好Geth和Node的环境,同时安装以太坊Mist客户端(这个是为测试你的智能合约和Dapp准备),配置和启动Geth(Geth和eth相关参数文章,请参考官网文档),通常我会先用Geth搭建自己的私链来测试,Geth启动后,你可以先在Mist客户端中熟悉智能合约和Solidity语言(记得在Geth console先挖矿,否则没有以太币来测试),然后根据官网的几个例子来试炼你的第一个Dapp。上手后,可以尝试使用web3.js来调用,或直接安装Truffle或Embark来开发自己真正的Dapp应用。

三、IBM HyperLedger

IBM HyperLedger 又叫 fabric,他的目标是打造成一个由全社会来共同维护的一个超级账本,fabric源于IBM,初衷为了服务于工业生产,IBM将44,000行代码开源,是了不起的贡献,让我们可以有机会如此近的去探究区别于比特币的区块链的原理。目前就Elwin所知,fabric还未进入真正的商用阶段,更多是试验和探索,不过相对于很多其他区块链,从技术底蘊他又是比较可信和靠谱的。

要基于HyperLedger进行区块链开发比想像中简单,有两种途径,一种是基于超能云(IBM中国研究院开发的超能云平台提供了各种云服务),他给区块链爱好者、开发者的区块链开发测试环境,通过超能云平台,用户能够免费、超快速创建基于Hyperledger Fabric的多节点区块链、并在自己的链上调试智能合约。Hyperledger Fabric的合约是基于Go语言的,上手比较简单。

根据Elwin尝试,似乎超能云的区块链只适用于科研测试,要真正运营,还是建议自己搭建Fabric的区块链网络。安装和运行Hyperledge fabric的运行有几种方式,比较推荐是下载Fabric区块链网络的Docker镜像,运行Docker镜像并启动Fabric区块链网络,但相对于比特币和以太坊,Fabric网络的架构和安装相对复杂,除了区块链服务外,还需要另外安装运行validating peer和Certificate Authority (CA) 服务。搞定后要真正使用,还需要先用户注册和登记授权,然后才可以通过CLI 或REST API进行调试和使用。其中里面智能合约的编写,跟在超能云的区块链云服务的是一样的。此外,除了CLI或REST API,IBM还提供了gRPC API和 SDK的方式进行应用的开发。

四、Lisk

LISK是新一代的区块链平台,允许JavaScript(又是Javascript技术,工程师们注意了)的开发和基于分布的分散的应用程序使用一个易于使用的,功能齐全的生态区块链系统。

Elwin觉得LISK相对于前面说的几个区块链底层,他的应用优势不仅仅在于他是第一个完全写在Javascript里的去中心化的应用解决方案,还在于他把每个应用加到LISK的单独侧链上。用过比特币和以太坊的朋友都知道,由于比特币和以太坊只有一条主链,所有功能和数据都加入这条主链导致区块快速膨胀,超大的区块体积,超长的同步时间,这个一个很痛苦的经历。Lisk的侧链模式给在处理高交易量下如何解决网络拥堵的问题提供了一种方法,用户只有用到相关的应用时才需要下载对应的侧链,大大减小了无效的同步数据,保持了整个Lisk网络的高效运行,而且,Lisk网络的速度随着时间的推移会继续加快,越显示他的特别优势。

其次,相对以太坊和Hyperledge fabric以智能合约为核心的区块链不同, Lisk区块链建立的目的并不是为了创建智能合约,而是使用Lisk APP SDK框架来开发不同的应用程序和功能。

Lisk APP的主要开发语言是NodeJS,Web开发者既能够开发应用程序的后端,也可以开发前端。通过使用Lisk APP SDK包,Web开发者可以轻松创建区块链应用。Lisk APP的开发也比较简单,跟你之前其他的NodeJS应用的开发是类似的。然而,跟比特币和以太坊的一样,Lisk的使用也是要消耗燃料费用的,还好,跟其他区块链底层网络一样,Lisk 也是有testnet模式的。

五、布比网络

布比,是国内区块链技术特别是底层技术领先者之一,已拥有多项核心技术,并已经成熟的应用在了商业积分、游戏币、游戏道具、预付卡、电子券、保险卡单、证券化资产、互助保险等行业和领域。

布比区块链平台分为基础框架层(BubiChain)和应用适配层(Bubi Application Adaptors)。底层基础框架层提供区块链的基础服务,应用适配层提供上层应用所需的功能组件,为具体的应用系统开发提供接口和SDK,降低由于区块链自身复杂的逻辑所带来的应用开发的难度。

对于一般开发的应用适配层,布比提供布萌区块链应用开发平台,该平台基于布比区块链技术,将上层应用所需要的功能组件进行封装,开发者想实现对应的功能,只需要注册成为布萌开发者即可获得接口使用权限。同时,平台提供开发者运维所需要的可视化管理工具。

就Elwin体验来说,布萌区块链的接入应该是几大区块链底层中最容易的,因为他不仅提供标准REST API,并提供JAVA等主流语言的SDK接入,同时,基于布萌区块链平台专注数字资产应用场景,跟其他大部分区块链接口纯技术和面向广泛应用的方式而言,布萌提供的接口更贴近业务场景的,更便于相关数字资产的应用接入到区块链。相对以太坊着重区块技术和智能合约的区块链不同,布比区块链的接入更务实和落地,你只需要关注你实际的业务,而不需要过多考虑区块链的技术细节。

区块链入门书籍推荐

1、区块链技术指南

区块链专家联袂推荐,资深区块链践行者联合撰写,从技术层面全面揭示区块链技术秘密。涵盖基础概念、架构、底层算法、应用开发、典型的区块链解决方案、常见问题等读者*为关心的技术与应用。

2、中国区块链产业发展白皮书

乌镇智库发布了《中国区块链产业发展白皮书》,主要分析了区块链产业的全球和国内发展态势、区块链与其他FinTech领域的横向对比以及区块链的热点应用场景。

3、区块链:新经济蓝图及导读

这本书将带领你超跃货币和智能合约,论证区块链如何能成为继大型机、个人电脑、互联网和移动/社交网络后的第五个颠覆性计算机范式。一个钢筋水泥为标志的银行信用大厦,正在被一个数据为土壤的区块链信用所取代。

4、精通比特币

想要加入一场颠覆金融世界的技术革命吗?《精通比特币》会为你参与这个货币网络提供必备知识,引导你进入看似复杂的比特币世界。无论你是正在构建下一个杀手级应用、投资创业,还是单纯对技术好奇,这本实用的书都是你不可或缺的阅读材料。

5、区块链:从数字货币到信用社会

《区块链:从数字货币到信用社会》从历史与背景、发展现状、基础原理与技术、应用生态、存在的问题与挑战等方面论述了区块链是怎样立起来的,为什么人人都在谈论区块链,区块链的秘密在哪里、进阶区块链(第二代区块链技术)是什么,区块链怎么玩,怎样从信息互联网走向价值互联网,如何用法规约束和监管区块链,区块链走向何处、争议与挑战,并通过经济、金融、货币、法律、科技哲学等角度来加以分析区块链在各个方面遇到的问题和需要解决的困难。

6、区块链:技术驱动金融

《区块链:技术驱动金融》回答了一系列关于比特币如何运用区块链技术运作的问题,并且着重讲述了各种技术功能,以及未来会形成的网络。比特币是如何运作的?它因何而与众不同?你的比特币安全吗?比特币用户如何匿名?区块链如何帮助比特币实现没有身份的共识?我们可以在比特币这一平台上创建什么应用程序?加密数字货币可以被监管吗?创建一种新的数字货币将会带来什么样的变化?未来将会如何发展?

7、区块链:将如何重新定义世界

本书作为国内率先出版的原创性区块链启蒙读物,博采众长,汇集了众多专家学者对于区块链的权*观点,结合大量实例,由浅入深、通俗易懂的向读者介绍了区块链的由来与发展、区块链背后的经济思想、区块链的技术原理与特征、区块链的应用前景以及对区块链的展望与畅想,引领大家走近了解并读懂区块链的世界。

8、区块链社会

除了介绍区块链技术在金融方面的各种领域之外,本书还详细介绍了包括公证鉴证服务、物联网、供应链、智能合约等多方面的应用,特别是详述了区块链技术在医疗、保险、能源等行业的具体应用案例。其中还包括对传统各大金融和IT巨头们对于区块链不同战略的阐述,详细解析了全球主要银行业、投行业、咨询业以及证券交易所行业对于区块链技术的不同战略和投资案例分析,全方位展示了全球各国对于数字货币和区块链技术采取的监管方式和策略,特别是证券行业在面对区块链技术让资本发行方式出现巨大变革的情况下,各国政府以及证券监管机构的应对策略。

9、区块链定义未来金融与经济新格局

从构建价值互联网的角度看,区块链的出现意味着从0到1。正因如此,本书章节结构与常见的体例不同,从第0章开始。第0章从文字与货币的起源出发,通过论述人类信息传递和价值传输手段的进步,说明区块链技术诞生的必然性。第1章用深入浅出的语言讲解区块链的本质、运行原理、颠覆性潜力以及区块链技术的现状与未来;第2章宏观讲述了区块链技术带来的新产品和新机遇,包括数字货币、互联网金融、物联网,以及新一代的基础设施;第3章则较为具体地讲述区块链技术在不同行业中可以实现的应用场景;第4章深入讲述了区块链的技术原理;后记部分,作者以对话的形式回答了读者关心的问题:区块链离我们还有多远。

10、区块链:互联网的诗和远方

如果你希望高效的学习以太坊DApp开发,可以访问汇智网提供的最热门在线互动教程:

1.适合区块链新手的以太坊DApp实战入门教程
2.区块链+IPFS+Node.js+MongoDB+Express去中心化以太坊电商应用开发实战
 

猜你喜欢

转载自my.oschina.net/u/2485754/blog/1813453
今日推荐