本文适合于熟悉开源区块链技术Hyperledger Fabric,以及希望更高效地使用华为云区块链服务的读者。当然,也欢迎任何对区块链技术有兴趣的读者阅读本文,相信读者们都能从中受益。
2018年2月1日 华为云发布企业级区块链开放平台区块链服务BCS(Blockchain Service),是基于开源区块链技术和华为在分布式并行计算、数据管理、安全加密等核心技术领域多年积累基础上推出的企业级区块链云服务产品,旨在帮助各行业、企业在华为云上快速、高效的搭建企业级区块链行业方案和应用。
如前所述,搭建区块链不是目的,关键是要方便应用更高效地使用区块链。本文要介绍的RESTFUL链码调用API即是华为云区块链为此目的而开发的,在详细介绍API之前,先对链代码做一下简单介绍,便于没有Fabric知识背景的读者理解。
我们知道区块链是一种由区块串联而成的链式结构,每一个区块上都记录着账户数据,这些数据一经写入是不可篡改的。那么数据是如何写入的呢?如果让拥有写入权限的用户都能随意写入数据的话,区块链也就失去了存在的意义,因此链代码概念的引入意义重大。链代码又被称之为智能合约,顾名思义就是向区块链写入数据的预先约定好的代码。它是一段逻辑,这个逻辑可以是简单的限制和约束,也可以是非常复杂的业务相关的逻辑,根据用户的输入,进行逻辑的运算,最终得出向区块链写入的数据集合,然后将数据写入到区块链上去。如果这样描述过于抽象的话,我们以一个账户转账的例子来进行说明。
如上图所示,图中右边的区块链记录着原始账户的余额,a为100元,b为