要开发一个DAPP,你首先得想明白该DAPP能解决什么问题,其次你要撰写一份项目白皮书,描述该DAPP使用的技术原理、共识机制等。想要从零开始开发一个完整的区块链项目太过复杂,所以目前普通的开发者大多会选择一个相对成熟的平台,依托平台成熟的开发环境来开发自己的DAPP。如此以来,DAPP的开发工作就简单了不少。
当前,DAPP的最流行的开发平台是Ethereum(以太坊)。Ethereum(以太坊)是一个图灵完备的区块链一站式开发平台,采用多种编程语言实现协议,采用Go语言写的客户端作为默认客户端。它允许任何人在平台中建立和使用通过区块链技术运行的分布式应用。我们可以把它理解为区块链领域的Android,它是一个开发平台,用户可以像基于Android Framework一样基于区块链技术开发应用。
在没有以太坊之前,开发区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等。
以太坊平台对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊平台进行开发,开发者只要专注于应用本身的开发,从而大大降低了DAPP应用开发难度。
目前围绕以太坊已经形成了一个较为完善的开发生态圈:有社区的支持,有很多开发框架、工具可以选择。
在国内,DAPP的开发平台有布比区网络、Lisk、Asch等。
布比有多项区块链核心技术,并已经成熟的应用在了商业积分、游戏币、游戏道具、预付卡、电子券、保险卡单、证券化资产、互助保险等行业和领域。
布比区块链平台分为基础框架层(BubiChain)和应用适配层(Bubi Application Adaptors)。底层基础框架层提供区块链的基础服务,应用适配层提供上层应用所需的功能组件,为具体的应用系统开发提供接口和SDK,降低由于区块链自身复杂的逻辑所带来的应用开发的难度。
对于一般开发的应用适配层,布比提供布萌区块链应用开发平台,该平台基于布比区块链技术,将上层应用所需要的功能组件进行封装,开发者想实现对应的功能,只需要注册成为布萌开发者即可获得接口使用权限。同时,平台提供开发者运维所需要的可视化管理工具。
LISK是新一代的区块链平台,允许JavaScript(又是Javascript技术,工程师们注意了)的开发和基于分布的分散的应用程序使用一个易于使用的,功能齐全的生态区块链系统。相对于其他区块链底层,LISK应用的优势在于它是写在Javascript里的去中心化的应用解决方案,以及它把每个应用加到LISK的单独侧链上。
Asch是一个公有链项目,2016年初规划,主网于2016年8月16日正式上线运行。只要掌握JavaScript,就可以基于Asch开发DAPP。 Asch采用的是侧链架构,每一个DAPP就是一套侧链。侧链可以有独立的区块链和节点网络。不同的DAPP之间互相不会影响。不同于Ethereum, Asch系统上DAPP数量的增加不会增加主链的负担,是一套更加先进的机制。