Zig-Ledger应用开发

最近更新时间:2018-08-30 11:09:54

在比特币时代,数字货币曾是区块链技术的唯一应用场景。以太坊智能合约的出现突破了区块链的场景限制,极大地丰富了区块链应用的范围,让基于区块链技术的分布式账本支持多行业、大规模的商业应用成为可能。

区块链应用,一般由若干部署在区块链网络中的智能合约,以及调用这些智能合约的应用程序组成。用户专注于与业务本身相关的应用程序,智能合约则封装了与区块链账本直接交互的相关过程,被应用程序调用。为了实现完整的运行在区块链之上的分布式应用,开发者不仅需要开发上层应用,还要编写智能合约代码。

基于KBaaS的区块链应用开发步骤如下所述:

1、场景选择与业务设计

区块链技术的应用可以给不同的行业带来新的活力,但并非所有的应用场景或问题都适合使用区块链技术来解决。开发者在开发前,需要结合区块链技术自身的特性,选取合适的应用场景。 区块链在不引入第三方中介机构的前提下,可以提供去中心化、不可篡改、安全可靠等特性保证。可编程的图灵完备的智能合约一旦发布便公开可见,保证规则的透明和不可篡改。

2、逻辑设计

开发者在选取合适的应用场景后,需要对业务逻辑过程进行详细设计,梳理出当前应用场景中,哪些记录要写到区块链账本中,而哪些功能和逻辑只需要在应用前端实现。 一般来说,与区块链账本直接交互的相关过程,都需要在智能合约中封装对应的接口,供应用程序调用。智能合约的设计需要与上层应用的设计相配合,设计得当的智能合约可以简化上层应用开发的过程;反之则可能导致上层应用开发中碰到障碍。

3、合约与应用程序端开发

根据应用场景业务逻辑的设计,开发者需要同时进行智能合约的开发和应用程序的开发。

3.1、合约开发

智能合约直接与账本结构打交道,处于区块链应用中十分核心的位置。智能合约代码本质上是为了对上层业务逻辑进行支持。

智能合约最终会部署在区块链网络中,与账本进行交互。开发者在合约开发时,需要了解智能合约结构、语言特性、状态存储方式等知识。Zig-Ledger和超级账本Fabric支持了包括Go语言在内的多种高级语言,并支持图灵完备的处理逻辑,可以支持开发者开发更加复杂的上层应用。

合约开发简介参考 - 链码开发; Zig-Ledger链码API参考- 链码API。

3.2、应用程序开发

应用程序通过调用智能合约提供的方法接口来实现业务逻辑。由于离用户侧更贴近,应用程序的开发通常更为灵活,可以采用已有的主流开发语言进行开发,包括Javascript、Python、Go、Java等。

3、合约部署与测试

开发者可以将写好的智能合约上传到Zig-BaaS平台中,并进行合约的部署和接口功能的测试,验证合约功能正确、完整。 如何使用Zig-BaaS上传、部署和调试合约,可参考 帮助中心 - 平台操作指南。

4、前后端对接

Zig-BaaS平台中Zig-Ledger服务提供了一套Restful API供开发者调用。 开发者将合约上传并部署到Zig-BaaS平台中,利用“API调用”模块功能中提供的Restful API接口,实现应用程序与区块链网络的交互。 Restful API的接口文档请参考 技术文档 - Zig-Ledger Restful API。

5、测试上线

在完成前后端对接后,开发者可以对应用做最后的测试,并进行生产环境的部署和发布。

金山云开启您的云计算之旅

立即注册