检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建自定义策略 系统预置的BCS权限,不满足您的授权要求,可以创建自定义策略。 自定义策略中可以添加的华为云区块链引擎的授权项(Action)请参考表1。目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
自定义策略授权项 Hyperledger Fabric增强版支持自定义策略授权项如下所示: 表格中“√”表示支持,“×”表示暂不支持。 表1 Hyperledger Fabric增强版常用操作与系统权限关系 接口 对应的API接口 授权项 IAM项目 (Project) 企业项目
自定义策略授权项 华为云区块链引擎支持自定义策略授权项如下所示 表1 华为云区块链引擎常用操作与系统权限关系 接口 对应的API接口 授权项 依赖授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 查询服务信息 GET /v2/{proje
创建BCS自定义策略 如果系统预置的BCS权限,不满足您的授权要求,可以创建自定义策略。 目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以
Go语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的结构体定义和方法定义。 合约文件中,用户可自定义结构体以及合约函数。以下内容不可更改: package名:package usercontract 函数的签名:NewSmartContract()、Init(stub contractapi
合约结构 Java语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的方法定义。 合约文件中,用户可自定义合约函数,需要实现Contract的init和invoke方法。 合约的结构如下: package com.huawei.poissonchain; import
利用合约发送交易 背书消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common
链代码结构 本章以Java语言为例来介绍。链代码即一个Java项目,创建好文件后进行函数开发等操作。 约束与限制 Java链代码仅支持Fabric 2.2及以上版本。 Java链代码仅适用于Fabric架构版本的区块链实例。 链代码接口 链代码启动必须通过调用shim包中的start方法。实际开发中,
链代码结构 本章以Go语言为例来介绍。链代码即一个Go文件,创建好文件后进行函数开发等操作。 当前支持两种方式编写链码:1.4风格(使用shim包)和2.2风格(使用fabric-contract-api-go包)。 区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric架构版本的区块链实例:
包含Go合约SDK文件(interfaces.go)、SDK接口的mock,用于实现合约逻辑的接口。 example.go 用户自定义合约文件。示例文件以合约结构为基础,提供简单场景、复杂场景(弹珠游戏)两类合约操作函数。 父主题: Go合约开发
利用合约查询数据 查询请求消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common
App客户端的典型逻辑过程是: 注册用户 注册用户时可以调用密钥生成函数为用户生成公私钥。 初始化余额 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。 发起交易 交易时可以调用交易准备函数生成具有隐私保护的交易数据。 链代码端对应的逻辑过程是: 保存用户公钥与地址的映射关系。
Chaincode完成用户间的转账操作。在转账数据的验证过程中使用同态加密库对密文交易数据进行合法性校验,确保没有非法操作。示例中实现了余额初始化,余额查询,转账交易三个功能函数,具体功能实现参考如下。 Init初始化余额 当用户注册成功后,需要初始化该用户的余额,默认为0。 输入说明 参数名 类型 描述 是否必须
更新访问地址 实例创建完成后,支持IP和域名两种更新方式。 约束与限制 自定义地址为集群内网地址或绑定集群的弹性IP,请确保自定义地址正确,否则将会导致区块链网络故障。出现网络故障后请重新更新为正确的访问地址。 通过IP更新访问地址 登录区块链服务管理控制台。 进入“实例管理”页面,选择Hyperledger
应用。 EIP为部署Demo的服务器IP或弹性云服务器的弹性IP。 管理员页面默认用户名:admin,密码:(请输入上页部署应用时键入的自定义密码),仅供demo体验登录。 单击“创建账户”录入客户信息。例如:在中国民主银行录入信息,包括姓名、身份证号、银行卡号和电话号码。 创建
该内容仅适用于Fabric架构版本的区块链实例的Go语言链代码开发。 为避免出现panic异常时链代码容器异常重启,找不到日志,导致问题无法及时定位,可在Invoke函数入口处添加defer语句时,出现panic异常时返回错误给客户端。 // 定义命名返回值,发生panic在defer里面赋值,确保客户端可以收到返回值
快速入门示例中,建议区块链实例名称设置为demo,则下载的SDK配置文件中对应的yaml文件名称为“demo-channel-sdk-config.yaml”。 若需要自定义区块链实例名称,例如设置为bcs123,则下载的SDK配置文件中对应的yaml文件名称为“bcs123-channel-sdk-config
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
请自行设置 资源初始密码确认 请自行设置 单击“下一步:资源配置”,进行资源配置,参数如表2所示。 表2 资源配置 参数 示例 环境资源 选择“自定义环境”。 集群 创建新的CCE集群 可用区 请自行选择 云主机规格 4核/8GB 云主机个数 1 高可用 否 虚拟私有云 系统自动创建VPC