检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
低代码合约开发 传统的智能合约开发需要开发人员使用底层区块链支持的合约语言进行相关业务开发和测试,开发人员不仅要求具备一定的编程能力,还需具备区块链等相关知识以保障合约的安全性。华为区块链提供低代码开发能力,开发人员仅需要根据实际业务画出业务流程建模符号(Business Process
链中,否则无法实例化链代码。 根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。
合约管理 为您提供界面化合约管理功能,包括合约安装、更新合约,Go语言类型的合约支持合约扫描功能进行安全检查。 表1 华为云区块链引擎支持的合约类型 合约类型 开发指南 注意事项 Go 链接 Go类型合约文件需要压缩成zip格式进行安装,且确保合约文件位于压缩包的一级目录下。 Solidity
如果用户需要对私钥文件进行加密,并在demo中解密后传入FabricSDK。 对于TLS私钥 在main.go文件的initializeSdk函数中,按如下方式调用函数: encryptedtlsKey,err := GetTlsCryptoKey(org) //从配置文件指定路径下读取加密过的TLS私钥
App客户端的典型逻辑过程是: 注册用户 注册用户时可以调用密钥生成函数为用户生成公私钥。 初始化余额 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。 发起交易 交易时可以调用交易准备函数生成具有隐私保护的交易数据。 链代码端对应的逻辑过程是: 保存用户公钥与地址的映射关系。
概述 SDK说明 华为云区块链引擎目前提供Java、Golang两种语言SDK,区块链服务启动时会启动一系列grpc接口,监听客户端发送的消息,与客户端交互完成各种请求。在开发客户端时,如果从底层grpc接口开始,进行各种消息封装、消息发送、返回值解析等工作,不仅会导致开发量过大,并且造成重复劳动。
开发前准备 链代码(Chaincode)又称智能合约,是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。
概述 目前区块链智能合约编写门槛高,开发人员需要掌握区块链基础知识以及对底层区块链支持的合约语言有所了解,同时编写出高效和安全的智能合同需要拥有丰富的经验;并且在处理业务合约时,操作人员需实时监控链上交易以获取业务流程进展,增加了业务管理流程和编程人员的开发工作量。 本功能旨在提
且不能包含连续两个点或者下划线,也不能包含点和下划线相邻 type 是 String 合约类型:Go语言类型(go)、Solidity语言类型(solidity)、Java语言类型(java) install_orgs 是 String 合约安装的组织ID列表,合约类型为solidity时该字段可不填写
链代码开发 开发前准备 开发规范 Go语言链代码开发 Java语言链代码开发 父主题: Hyperledger Fabric增强版管理
4版本实例仅支持CCE 1.15及以下版本集群。 根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。
点进行配置。 ChainID 链ID,配置为链配置文件中yaml中chain_id字段对应的值。 运行程序,示例中的send函数调用合约的insert函数,向区块链存入一对键值对<a,huaweichain>。 进入区块链浏览器页面,在交易查询列表中,单击操作列的“查看详情”,即可查看返回的结果信息。
String 合约名称 version String 合约版本号 type String 合约类型:Go语言类型(go)、Solidity语言类型(solidity)、Java语言类型(java) status String 合约状态:安装中(Installing)、安装失败(Failed)、安装完成(Success)
String 合约名称 version String 合约版本号 type String 合约类型:Go语言类型(go)、Solidity语言类型(solidity)、Java语言类型(java) status String 合约状态:安装中(Installing)、安装失败(Failed)、安装完成(Success)
可以划分为: 表1 辅助功能 接口 说明 FuncName(txid :string ) :string 获取智能合约请求中指定的智能合约函数名称。 Parameters(txid: string):Array<ArrayBuffer> 获取请求参数。 表2 账本数据操作 接口 说明
endorsement_policy 是 Policy object 背书策略 init_variable 是 InitArgs object 初始化函数及参数 private_data 否 String 隐私保护配置数据,json数据的string格式,json数据结构举例:[{"name
SDK升级与变更 华为云区块链引擎提供Java、Go两种语言的SDK,供开发者使用。 Java SDK:支持通过配置在线动态更新与升级。 Go SDK:目前不支持在线更新与升级,需要手动下载并引入应用程序中。 SDK版本:仅支持向前兼容,建议将SDK升级到最新版本。 Java SDK
如果用户需要对私钥文件进行加密,并在demo中解密后传入FabricSDK。 对于MSP私钥:在FabricHelper文件的genFabricUser函数中,按如下方式调用函数: //从配置文件指定路径下读取加密过的MSP私钥 String adminPrivateKeyString = extractPemString(msp
ContractStub合约信息&状态数据库访问接口 接口 说明 String funcName() 功能:获取智能合约请求中指定的智能合约函数名称 入参:无 返回值:智能合约函数名称 byte[][] parameters() 功能: 获取请求参数 入参:无 返回值:用户执行智能合约逻辑时传入的多个参数,每个参数以[]byte表示
数据的一致性和完整性。 基于合约SDK开发合约的流程如下: 下载对应的合约SDK文件。 配置SDK文件到本地合约项目。 基于SDK提供的库函数进行合约开发。 华为云区块链提供Go、Solidity类型的合约示例供开发者使用,示例下载和开发参考如下: 表1 华为云区块链引擎不同合约类型开发指南