检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
概述 目前区块链智能合约编写门槛高,开发人员需要掌握区块链基础知识以及对底层区块链支持的合约语言有所了解,同时编写出高效和安全的智能合同需要拥有丰富的经验;并且在处理业务合约时,操作人员需实时监控链上交易以获取业务流程进展,增加了业务管理流程和编程人员的开发工作量。
链代码开发 开发前准备 开发规范 Go语言链代码开发 Java语言链代码开发 父主题: Hyperledger Fabric增强版管理
根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。
链代码语言 Golang 链代码文件 登录区块链服务管理控制台,进入“应用案例”,下载“银行联盟链示例应用”中的银行联盟链的链代码。 链代码描述 根据需要填写相关描述。 代码安全检查 链代码语言选择Golang,该功能才会显示。选择是否开启代码安全检查。
查看区块链浏览器 提供区块链相关信息的查询功能,包括区块数量、交易数量、区块详细信息、交易详细信息、性能数据及组织交易数量统计等,帮助您了解整个区块链的状态,对区块链基本的维护提供数据支撑。 操作步骤 登录区块链服务管理控制台。 单击左侧导航栏中的“实例管理”,选择华为云区块链引擎页签
(go)、Solidity语言类型(solidity)、Java语言类型(java) status String 合约状态:安装中(Installing)、安装失败(Failed)、安装完成(Success) failed_message String 合约安装失败详细错误信息 description
(go)、Solidity语言类型(solidity)、Java语言类型(java) status String 合约状态:安装中(Installing)、安装失败(Failed)、安装完成(Success) failed_message String 合约安装失败详细错误信息 description
商用 下载合约模板 2 Java语言的智能合约支持在基于ARM架构的区块链服务上部署 Java语言的智能合约支持在基于ARM架构的区块链服务上部署。 商用 - 2020年10月 序号 功能名称 功能描述 阶段 相关文档 1 支持区块链轻节点插件。
SDK升级与变更 华为云区块链引擎提供Java、Go两种语言的SDK,供开发者使用。 Java SDK:支持通过配置在线动态更新与升级。 Go SDK:目前不支持在线更新与升级,需要手动下载并引入应用程序中。 SDK版本:仅支持向前兼容,建议将SDK升级到最新版本。
goproxy/ go env -w GONOSUMDB=* Go合约SDK文件导入本地项目后,若路径变红,可在Go Land编译器中启用 go mod: File->Settings->GO->Go Module->勾选 Enable go modules integration Go语言合约开发和调测可参考合约示例
开发链代码 链代码是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据,具体可参见链代码开发。 安装、实例化链代码 区块链服务为您提供界面化链代码管理功能,包括链代码安装、实例化等,具体可参见链代码管理。
资源下载 表1 SDK列表 配套社区Hyperledger Fabric版本 语言 下载链接 Fabric 1.4.0、Fabric 2.2 Go 登录区块链服务管理控制台,进入“应用案例”,单击“国密加密SDK”中Fabric_SDK_Go的“下载”按钮。
在合约模板卡片上,单击模板名称,可查看合约模板的详细信息,包括合约模板的版本、支持语言、类型及其接口信息。 图1 查看合约详情 在合约模板卡片上,单击下载合约模板到本地。 您可在区块链管理界面,将下载的模板文件进行链代码的安装和实例化操作,具体请参见链代码管理。
提供Go语言和Java语言的链代码开发。 提供示例Demo,帮助用户开发自己的客户端应用程序。
根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。
Integer 链码总数 chaincodes Array of ChaincodeInfo objects 链码列表 表4 ChaincodeInfo 参数 参数类型 描述 chaincode_name String 链码名称 chaincode_language String 链码开发语言
{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
策略是以JSON格式描述权限集的语言。默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 根据授权的精细程度,分为角色和策略。
安装及实例化链代码 本示例使用链代码文件获取方法:登录区块链服务管理控制台,进入“应用案例”,单击“GO示例Demo-GO SDK Demo”中Go语言示例链代码的“下载”按钮。 参考章节:用户指南-区块链管理-链代码管理。 下载SDK和证书 登录区块链服务管理控制台。