文章阅读页通栏

KBaaS:金山云发布的区块链云服务平台产品

来源: 金山云 作者:
KBaaS(Kingsoft Blockchain as a Service)是金山云发布的一款区块链云服务平台产品,旨在帮助开发者快速构建区块链基础设施,提供区块链应用开发、部署、测试......
KBaaS(Kingsoft Blockchain as a Service)是金山云发布的一款区块链云服务平台产品,旨在帮助开发者快速构建区块链基础设施,提供区块链应用开发、部署、测试和监控的整套解决方案。

KBaaS坚持技术研发与自主创新,支持各类主流的联盟链、公有链开发环境,包括Hyperledger Fabric、Zig-Ledger、Ethereum等,并将陆续支持EOS等底层区块链开发环境。KBaaS为开发者提供了简单易用的开发工具,开发者可以在可视化的操作界面下完成区块链的构建与操作,极大地降低了开发门槛,提高了开发效率。

产品功能

产品优势

开放共赢
秉承开放共赢的设计原则,KBaaS支持各类主流的联盟链、公有链开发环境,包括Hyperledger Fabric、Zig-Ledger、Ethereum,并将陆续支持EOS等。

简单易用
KBaaS以开发者需求为导向,支持区块链产品的免费试用,并提供简单易用的开发者工具与服务,开发者可以在可视化的操作界面下完成区块链的构建与操作,极大地降低了开发门槛,提高了开发效率。

自主创新
KBaaS坚持技术研发与自主创新,提供基于Hyperledger Fabric 1.x自主研发的Zig-Ledger企业?#35835;?#30431;链服务,并持续研究共识算法、密码学算法、跨链交互、去中心化存储等前沿技术,为开发者提供最先进的技术服务。

成熟可靠
KBaaS构建于Kubernetes、Docker之上,自身具备极高的可靠?#38498;?#25193;展性,为开发者提供成熟可靠的企业级区块链基础设施服务。

操作指南

Zig-Ledger

Zig-Ledger是基于Hyperledger Fabric 1.0基础之上自主研发的商用?#35835;?#30431;链底层及配套工具集。包括区块链底层?#20302;场DK、浏览器、运维平台等产品,在资产登记和流转,共识机制,隐私保护,行为监管,跨链交互?#30830;?#38754;做出许多重要改进,使之可覆盖更丰富的企业或消费者场景。

Zig-Ledger的主要特点包括:

· 企业级分布式账本:基于Hyperledger Fabric 1.0 标准自主研发的商用?#35835;?#30431;链底层,适用于大规模企业级应用。
· 高性能:解耦复杂处理?#26041;冢?#28040;除计算处理瓶?#20445;?#23454;现商用级TPS,满足企业长远发展。
· 灵活的权限管理:身份证书管理,支持多通道特性,提高数据安全性,为企业级应用提供底层权限管理能力。
· 可扩展的?#20302;?#26550;构:遵循插件化设?#21697;?#26684;,支持可插拔、可扩展的模块配置,包括共识、权限、加解密、手续费等。
· 去中心化账户:新增去中心化的自主匿名账户模块,满足大规模消费者场景下与区块链交互的需求。
· 资产登记与流转:新增数值通证、权限通证等模块,新增Transfer Set记账模型,为联盟链环?#25345;?#25968;字资产的登记和高并发流转提供底层支持。

目前金山云KBaaS服务为客户提供了"免费试用版"

免费试用版适用于区块链应用前期开发与调试验证 相关资源资源将在部署后168小时自动?#22836;牛?#35831;勿将生产环境业务部署在"免费试用版"。

Zig -Ledg er环境构建-免费试用版

Zig-Ledger是基于Hyperledger Fabric 1.0基础之上自主研发的商用?#35835;?#30431;链底层,及配套工具集。包括区块链底层?#20302;场?#26234;能合约、SDK、浏览器、运维平台等产品,在共识机制、可扩展性、资产登记和流转、权限管理和隐私保护、跨链交互?#30830;?#38754;做出许多重要改进,使之更适用于大规模企业级应用。

以下为您介绍在KBaaS中搭建Zig-Ledger环境并完成链码操作的步骤:

1、环境构建

登录金山云KBaaS控制台,在【我的项目】点击"添加服务",进入服务创建流程,选择区块链配置。

举例:区块链名称为“test?#20445;?#20849;识算法选择“solo?#20445;?#31867;型选择?#26696;?#32423;配置?#20445;?#28857;击完成,创建成功,进入我的项目页。
提示:试用版区块链将在部署后168小时自动?#22836;擰?/span>

2、项目控制台

创建成功的Zig-Ledger将会在我的项目中以卡片形式显示,点击卡片上“进入项目”?#23665;?#20837;项目控制台。

项目控制台页面左侧?#24049;?#26639;展示了控制台的功能:区块链浏览器、链码管理、API调用、账户、通证、日志。

· 区块链浏览器:展示区块链账本基本信息,包括区块信息、交易信息、合约数量等;
· 链码管理:查看区块链链码信息,执行链码(智能合约)的安装、实例化等操作;
· API调用:提供Restful API,支持可视化调用并查看调用结果;
· 账户:提供账户管理工具,支持账户的创建、?#22659;?#26597;看资产和资产转账等功能;
· 通证:区块链通证资产查看,支持自定义通证发行;
· 日志:实时查看区块链各节点日志。

3、账户与通证

Zig-Ledger在Hyperledger Fabric基础上新增了账户和通证的功能。 为了便于用户操作和理解,Zig-Ledger区块链在初始化阶段会默认创建1个账户并给这个账户发行1000亿个ZIG Token。 ZIG Token是Zig-Ledger的原生Token,账户发起交?#36164;?#38656;耗一定比例的ZIG Token作为手续费。

3.1、添加账户

进入“账户”模块,可以看到当前创建的全部账户,包括初始化生成的默?#38505;?#25143;,记为账户1。 点击“添加账户”按钮新增一个账户,此时页面会有2个账户,新增的账户记为账户2。后文将针对账户1和账户2进行操作。

3.2、发行通证

进入“通证”模块,可以看到当前发行的全部通证信息,包括初始化生成的原生通证ZIG。 点击“发行通证?#20445;?#36755;入通证名称、个数、小数点个数,发行账户等信息。 举例,名称:AToken;通证个数:100000000;小数点个数:3;账户:账户1。(以上数据代表实际发行通证数量为100000.000)


通证发行成功后进入“账户”模块,选择账户1点击“资产”查看当前账户地址下所有通证名称及数量。可以发现账户1已经拥有ZIG和AToken两种通证资产。

3.3、账户间通证转账

在账户1的通证资产页面,点击ZIG通证的“转账?#20445;?#36755;入通证个数和转账地址。举例,通证个数:5000.00;转账地址:账户2。 点击“确定”后稍等一段时间,转账交易被确认。同理,?#23665;獳Token进行转账操作,通证个数:5000.000;转账地址:账户2。 此时可在账户2的资产页面,查看其资产数额变化信息。

目前,账户2已拥有ZIG和AToken两种资产,在后文将继续介绍账户2如何使用者两种资产。

4、示例链码演示

4. 1、链码部署

“链码管理”模块展示了该区块链上已安装或已部署的链码,用户可以在该模块中为区块链安装部署新的链码。 在“链码管理”模块中点击加号执行链码安装,在“合约中心”中选择“资产?#19994;?#20132;易/asset”示例合约进行安装。 “资产?#19994;?#20132;易/asset”示例合约支持注册新用户,用户可以将资产以Token形式定价?#19994;ィ?#20854;他用户可以通过指定Token进行资产购买。

安装成功后,在“链码管理”页面会显示该示例链码。点击“部署”执行链码实例化,无需填写参数,点击提交,等待一段时间后,部署成功。

4.2、链码调用

链码部署成功后,进入“API调用”页面,对刚部署成功的示例链码进行API调用。 API调用界面展示了所提供的多种API,包括获取链信息、获取区块信息、获取交易信息、链码调用、账户和通证操作等等。链码的调用方式包括Invoke和Query,分别对应“Invoke Chaincode”和“Query Chaincode”这两个API。用户可点击进入,填写相关参数,执行调用并查看反馈结果。

需要注意的是:在Zig-Ledger中通过Invoke方?#38477;?#29992;合约时需要指定账户,?#30475;?#36827;行Invoke操作时需要从ZIG账户中扣除一定额度的手续费,费用以当前已经发送的交易字节数来确定。以?#24405;?#32493;介绍“资产转移合约”的示例操作步骤: 1) 添加用户U1、用户U2 创建U1,在“Invoke Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“addUser?#20445;?#21442;数“U1”“15?#20445;?#35843;用账户“账户1?#20445;?#25191;行调用,获得如下结果:

返回了交易TxHash,代表交易成功。 同理,继续创建用户U2,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“addUser?#20445;?#21442;数“U2”“20?#20445;?#35843;用账户“账户2?#20445;?#25191;行调用,完成创建。

2)查询用户信息 在“Query Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“queryUser?#20445;?#21442;数“U1?#20445;?#25191;行查询,获得如下结果:

返回了U1用户的信息,?#24471;鱑1成功创建。 同理,在“Query Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“queryUser?#20445;?#21442;数“U2?#20445;?#25191;行查询,返回U2信息,U2成功创建。

3)添加资产-BO O K1 现在我们为U1添加1个?#19994;?#36164;产,该资产设定为一本书,名叫BOOK1,类型是BOOK,描述是Aguidebook,并定价2.00单位的AToken。 在“Invoke Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“addAsset?#20445;?#21442;数“BOOK1”“BOOK”“A guidebook”“AToken”“200”“U1?#20445;?#21442;数200包含了小数点,代表2.00个AToken),调用账户“账户1?#20445;?#25191;行调用,获得如下结果:

返回了交易TxHash,代表交易成功。

4)查询资产-BO O K1 在“Query Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“readAsset?#20445;?#21442;数“BOOK1?#20445;?#25191;行查询,获得如下结果:

返回了BOOK1资产的信息,资产成功创建,owner是U1。 同理,?#37096;?#20197;使用函数“readAssetByRange”来查询名称在A-Z?#27573;?#20869;的所有资产。

5)U2购买资产BO O K1 在“Invoke Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“buyAsset?#20445;?#21442;数“BOOK1”“U2?#20445;?#35843;用账户“账户2?#20445;?#25191;行调用,获得如下结果:

6)查询资产-BO O K1 在“Query Chaincode”API中,填写链码名称“asset?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“readAsset?#20445;?#21442;数“BOOK1?#20445;?#25191;行查询,获得如下结果:

可以发现,BOOK1的owner已经变更为U2。

7)查询账户的资产 在“账户”模块中查询账户1和账户2的资产信息,发现资产数量发生变化,账户2的AToken减少了2个,而账户1的AToken增加了2个,验证之前的交易成功执行。

下表汇总了示例合约的操作流程:

4.3、完成调用

调用完成后,返回“区块链浏览器?#20445;?#21457;现此时区块链信息已经发生变化,区块和交?#36164;?#37327;有所增加。 点击可查看刚?#35834;?#29992;所产生的区块和交易详情。

4.4、Restf u l API调用

开发者可以通过可视化的界面完成调用,?#37096;?#20197;通过Restful API进行调用。Zig-Ledger构建服务提供了一系列Restful API用于帮助开发者快速构建区块链应用,开发者在调用前需先获取Token令牌来获得调用权限。

5、日志查看

进入“日志”模块,查看区块链网络中节点的运行日志。在Zig-Ledger的高级配置中,可以通过下拉菜单选择查看CA节点、Orderer节点或Peer节点的日志信息。

6、?#22836;?#21306;块链

当不需要此链?#20445;?#36827;入?#25300;?#30340;项目?#20445;?#36873;择该区块链并点击“立即?#22836;擰薄?/span>

Hyperiger Fabric

Hyperiger Fabric是一个面向企业的分布式账本平台,具有高度的灵活性、模块化和可扩展性能。Zig-BaaS提供Hyperledger
Fabric网络的快速构建与按需配置,并为开发者提供区块浏览器、链码管理、API调用、日志查看等功能。

Hyp erledg er Fab ric环境构建

本文主要介绍在KBaaS控制台中搭建Hyperledger Fabric环境(免费试用版)并完成链码操作的步骤

1、环境构建

登录金山云KBaaS控制台,在【我的项目】点击"添加服务",进入服务创建流程,选择区块链配置。

举例:区块链名称为“test?#20445;?#20849;识算法选择”solo“,类型选择“基础配置?#20445;?#28857;击完成,创建成功,进入我的项目页。
提示:试用版区块链将在部署后168小时自动?#22836;擰?/span>

2、项目控制台

创建成功的Hyperledger Fabric将会在我的项目中以卡片形式显示,点击卡片上“进入项目”?#23665;?#20837;项目控制台。

项目控制台页面左侧?#24049;?#26639;展示了控制台的功能:区块链浏览器、链码管理、API调用、日志。

· 区块链浏览器:展示区块链账本基本信息,包括区块信息、交易信息、合约数量等;
· 链码管理:查看区块链链码信息,执行链码(智能合约)的安装、实例化等操作;
· API调用:提供Restful API,支持可视化调用并查看调用结果;
· 日志:实时查看区块链各节点日志。

3、示例链码演示

3.1、链码部署

“链码管理”模块展示了该区块链上已安装或已部署的链码,用户可以在该模块中为区块链安装部署新的链码。 在“链码管理”中点击“安装链码?#20445;?#22312;“合约中心”中选择“资产转移合约/trans”示例合约进行安装

安装成功后,在“链码管理”页面会显示该示例链码。点击“部署”执行链码实例化,部署时需输入参数:a,10,b,10,点击提交,等待一段时间后,部署成功。

3.2、链码调用

链码部署成功后,进入“API调用”页面,对刚部署成功的示例链码进行API调用。 API调用界面展示了所提供的多种API,包括获取链信息、获取区块信息、获取交易信息、链码调用等等。链码的调用方式包括Invoke和Query,分别对应“InvokeChaincode”和“Query Chaincode”这两个API。用户可点击进入,填写相关参数,执行调用并查看反馈结果。

以?#24405;?#32493;介绍“资产转移合约”的示例操作步骤:

1)查询实体a、实体b的资产 在“Query Chaincode”API中,填写链码名称“trans?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“query?#20445;?#21442;数“a?#20445;?#25191;行查询,获得如下结果:

代表a具有10单位的资产。

同理查询实体b的资产,填写链码名称“trans?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“query?#20445;?#21442;数“b?#20445;?#25191;行查询。查询得到实体b具有10单位的资产。 a、b的资产数量与部署时填写的初始化参数相符。

2)从a向b转移5个单位的资产 在“Invoke Chaincode”API中,填写链码名称“trans?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“invoke?#20445;?#21442;数“a”“b”“5?#20445;?#25191;行查询,获得如下结果:

返回了交易TxHash,代表交易成功。

3)查询实体a、实体b的资产 在“Query Chaincode”API中,填写链码名称“trans?#20445;?#38142;码版本“1.0?#20445;?#38142;码函数“query?#20445;?#21442;数“a?#20445;?#25191;行查询,获得如下结果:

代表a具有5单位的资产,因为在上一步,a向b转移了5单位的资产。 同理查询实体b的资产,可以发现实体b拥有15单位的资产,资产转移成功。

下表汇总了示例合约的操作流程:


3.3、完成调用

调用完成后,返回“区块链浏览器?#20445;?#21457;现此时区块链信息已经发生变化,区块和交?#36164;?#37327;有所增加。

点击可查看刚?#35834;?#29992;所产生的区块和交易详情。

3.4、Restf u l API调用

开发者可以通过可视化的界面完成调用,?#37096;?#20197;通过Restful API进行调用。Hyperledger Fabric构建服务提供了一系列Restful API用于帮助开发者快速构建区块链应用,开发者在调用前需先获取Token令牌来获得调用权限。Restful API接口详见“API调用”模块。具体接口使用方法详见 技术文档 - Hyperledger Fabric Restful API文档。

4、日志查看

进入“日志”模块,查看区块链网络中节点的运行日志。在Hyperledger Fabric的基础配置中,可以通过下拉菜单选择查看CA节点、Orderer节点或Peer节点的日志信息。

5、?#22836;?#21306;块链

当不需要此链?#20445;?#36827;入?#25300;?#30340;项目?#20445;?#36873;择该区块链并点击“立即?#22836;擰薄?/span>


Ethereum

以太坊(Ethereum)是一个基于智能合约的分布式应用平台。Zig-BaaS提供以太坊测试网络的快速接入功能,并提供基于Remix的IDE,开发者可以在平台内上传智能合约、在线编辑,并完成编译、部署和调试。

Ethereum测试网络接入

1、测试网络接入

登录金山云KBaaS控制台,在【我的项目】点击"添加服务",进入服务创建流程,选择需要接入的区块链网络。 其中,Ropsten和Rinkeby是以太坊官方测试网络,采用不同的共识机制。Kovan是以太坊钱包Parity开发团队发起的测试网络项目。

2、项目控制台

创建成功的Ethereum将会在我的项目中以卡片形式显示,点击卡片上“进入项目”?#23665;?#20837;项目控制台。

项目控制台页面左侧?#24049;?#26639;展示了控制台的功能:区块链浏览器、合约IDE。

· 区块链浏览器:展示区块链账本基本信息,包括区块信息、交易信息等;
· 合约IDE:基于Remix的智能合约IDE工具,支持合约的在线编辑、编译、部署和调试等操作。

需注意:本服务提供公共的节点实现以太坊测试网络的接入,请勿将敏感资料和私人密钥等信息上传至该公共节点,也不要使用测试网络环境搭建生产环境的商业应用。

3、智能合约IDE

Remix是面向Solidity Dapp开发者的智能合约在线IDE,集成了一系列套件工具,可以便捷地实现合约管理、编辑、部署和调试。

KBaaS集成了一套Remix开发工具,并与所创建的测试网络相连通,开发者可以基于IDE进行合约开发并完成测试网络的部署和调试。

Remix的更多信息可以参考:https://remix.readthedocs.io/en/latest/

IPFS

IPFS全称InterPlanetary File System,中文名:星际文件?#20302;常?#26159;一个旨在创建持?#20204;?#20998;布式存储和共享文件的网络传输协议。 它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件?#20302;场?#23427;是一个开放?#21019;?#30721;项目,自2014年开?#21152;蒔rotocol Labs (协议实验室)在开源社区的帮助下发展。其最初由Juan Benet设计。IPFS是点对点的超媒体协议,可以让网络更快、更安全、更开放。它是一个面向全球的、点对点的分布式版本文件?#20302;常?#35797;图将所有具有相同文件?#20302;?#30340;计算设备连接在一起。

Zig-BaaS提供了IPFS公共网络接入,用户可以通过共享的IPFS网络节点访问网络。请注意:由于IPFS是一个公开的网络,且Zig-BaaS提供的是共享的IPFS节点,因此,请勿将重要或敏感的文件信息上传。

IPFS网络接入

1、网络接入

登录金山云KBaaS控制台,在【我的项目】点击"添加服务",进入服务创建流程,选择需要接入的区块链网络-IPFS网络接入。

2、项目控制台

创建成功的IPFS服务将会在我的项目中以卡片形式显示,点击卡片上“进入项目”?#23665;?#20837;项目控制台。

项目控制台页面左侧?#24049;?#26639;展示了控制台的功能:节点信息、网络连接、文件上传、文件检索。

· 节点信息:IPFS接入节点信息的可视化展示;
· 网络连接:查看IPFS网络连接状态,节点连接数量等信息;
· 文件上传:将文件通过节点上传至IPFS网络;
· 文件检索:通过节点检索IPFS网络中的文件。

3、IPFS应用开发

进行IPFS应用开发,需要对IPFS RESTful API 有一定程度的了解;可以使用IPFS提供的API接口进行应用开发,?#37096;?#20197;使用JS-IPFS-API 调用PIFS服务。

IPFS RESTful API 资料:https://ipfs.io/docs/api/
JS-IPFS-API 资料:https://www.npmjs.com/package/ipfs-api

IPFS RESTf ul API 示例:

curl "http://localhost:5001/api/v0/dag/get?arg="

其中localhost需参考节点信息中的节点IP,例如“106.14.182.200”。
JS-IPFS-API 示例:

const ipfsAPI = require('ipfs-api');
const ipfs = ipfsAPI({host: 'localhost', port: '5001', protocol: 'http'});
exports.get = (hash) =>{
return new Promise((resolve,reject)=>{
try{
ipfs.get(hash,function (err,files) {
if (err || typeof files == "undefined") {
reject(err);
}else{
resolve(files[0].content);
}
})
}catch (ex){
reject(ex);
}
});
}



关键词: KBaaS  金山区块链  区块链服务  
0/300
? 拳皇命运官方实力排名
北京赛pk10下载 北京pkapp下载 3d开奖结果今天结果3d最新牛材网 江西时时中奖2000万调查 秒速到官方客服 qq宠物欢乐捕鱼 香港开马开奖现场直播 河北时时官网 湖北福彩投注客户端 王中王论坛资料一肖中特