检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
链代码开发 开发前准备 开发规范 Go语言链代码开发 Java语言链代码开发 父主题: Hyperledger Fabric增强版管理
当前只支持Go和java语言类型合约,只能上传一个zip文件。go语言类型合约,zip文件不能超过30M,子文件总数不能超过1000000个,子文件总大小不能超过500M。
根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。
(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
链代码语言 Golang 链代码文件 登录区块链服务管理控制台,进入“应用案例”,下载“银行联盟链示例应用”中的银行联盟链的链代码。 链代码描述 根据需要填写相关描述。 代码安全检查 链代码语言选择Golang,该功能才会显示。选择是否开启代码安全检查。
详细介绍请参见通过成本分析探索成本和使用量、通过成本监控识别异常成本。 成本优化 成本控制 企业可以在成本中心的“预算管理”页面创建精细粒度的预算来管理成本和使用量,在实际或预测超过预算阈值时,自动发送通知给指定消息接收人。
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语言合约开发和调测可参考合约示例
资源下载 表1 SDK列表 配套社区Hyperledger Fabric版本 语言 下载链接 Fabric 1.4.0、Fabric 2.2 Go 登录区块链服务管理控制台,进入“应用案例”,单击“国密加密SDK”中Fabric_SDK_Go的“下载”按钮。
开发链代码 链代码是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据,具体可参见链代码开发。 安装、实例化链代码 区块链服务为您提供界面化链代码管理功能,包括链代码安装、实例化等,具体可参见链代码管理。
在合约模板卡片上,单击模板名称,可查看合约模板的详细信息,包括合约模板的版本、支持语言、类型及其接口信息。 图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 链码开发语言
策略是以JSON格式描述权限集的语言。默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 根据授权的精细程度,分为角色和策略。
{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
安装及实例化链代码 本示例使用链代码文件获取方法:登录区块链服务管理控制台,进入“应用案例”,单击“GO示例Demo-GO SDK Demo”中Go语言示例链代码的“下载”按钮。 参考章节:用户指南-区块链管理-链代码管理。 下载SDK和证书 登录区块链服务管理控制台。
示例链代码中提供交易的脚本中已将链代码版本固定为1.0,安装链代码时,链代码版本号必须为1.0,链代码语言为go。 如果自己开发链代码,可以使用Chaincode库接口文件: api_ahe_cc.tar.gz。 在“实例管理”界面,在实例卡片中,单击“获取客户端配置”。