检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
代码需要使用管理员证书,交易和查询推荐使用用户证书。应用程序开发人员需要到实例管理界面下载对应服务的证书。 管理员证书:组织的管理权限证书和私钥,可使用该身份进行通道和合约的管理。 用户证书:组织的用户权限证书和私钥,可使用该身份进行普通的交易和查询。 CA证书: 组织的根证书,可以使用该CA公私钥签发下一级证书。
Go语言客户端主程序。 contract.go 通过合约对业务数据交互。对数据有修改的操作如插入和删除,需要调用其中的send方法。对数据的查询操作如查询某个键的历史,需要调用其中的query方法。 block.go 用于从区块上获取数据。 tx.go 用于从交易上获取数据。 config
标签管理 查询资源标签 批量添加资源标签 批量删除资源标签 父主题: API(华为云区块链引擎)
返回值为A账户的地址:2efc4639bc281060ce013dfea33a47b647b6f4a20103a6321c33d67d5xxxx 示例3:查询账户余额 执行如下命令查询A账户的余额,返回值为A账户余额。 ./appdemo querybalance -p XXXXXX -u A -c ./test-sdk-config
登录区块链服务BCS控制台,单击左侧导航栏的“实例管理”。 单击右侧的“操作记录”进入操作记录页面。 单击操作列的“操作详情”。 展开详情后,单击“查看原因”并结合部署进度,根据具体报错信息进行分析。详细请参考表1。 表1 报错详情及解决方案 报错详情 解决方案 Insufficient cluster
fileName string 待下载文件在链上的名称。不允许包含 "/" versionId int 待下载文件的版本号。版本号要求大于等于1,可以通过查询文件历史版本获取文件的版本号信息。 返回值 类型 说明 error 下载成功返回类型为nil,反之返回error。 父主题: Go SDK介绍
通过由医疗机构、第三方机构、医生、患者和监管机构组成的基于电子病历的医疗健康联盟链,将医疗和健康数据上链,通过加密技术和智能合约授权机制,实现患者数据安全授权查询,支撑科研数据确权隐私使用。实现安全、共信和确权。 更多详情请参考“区块链健康档案和电子病历解决方案”。 图1 方案架构 方案优势 打通信息孤岛
为智能合约文件,本Demo中合约仅进行简单展示(实际合约文件contract.ts需自行开发)。 合约文件的安装请参考合约管理。 AssemblyScript语言类型合约不支持查询指定键的历史数据。 父主题: 示例Demo
BCS除了提供web界面管理运维资源之外,还提供了API调用方式,便于用户集成自有管理系统,实现定制化管理入口。可以使用本文档提供API对区块链服务进行相关操作,如创建、查询、删除等。具体API请参见API(Hyperledger Fabric增强版)。 在调用区块链服务API之前,请确保已经充分了解区块链服务基本概念与知识。
shim.ChaincodeStubInterface) pb.Response { // 在该方法中实现链代码运行中被调用或查询时的处理逻辑 // 编写时可灵活使用stub中的API } //主函数,需要调用shim.Start()方法 func
般为32位字符串。 blockchain_id 是 String 区块链服务id。可调用“查询服务实例列表”接口获取ID channel_id 是 String 区块链通道名称。可调用“查询实例信息”接口获取,接口返回的“channels”中的name字段值 请求参数 表2 请求Header参数
还提供了API调用方式,便于用户集成自有管理系统,实现定制化管理入口。可以使用本文档提供API对华为云区块链引擎服务进行相关操作,如创建、查询等。具体API请参考API(华为云区块链引擎)。 在调用华为云区块链引擎服务API之前,请确保已经充分了解华为云区块链引擎服务基本概念与知识。
/v2/agent/apis/chaincodes 表1 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 查询链代码列表的起始位置,默认为0 limit 否 Integer 查询链代码列表的数量,默认为10 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
{bcs_endpoint}信息请从地区和终端节点获取,{project_id}信息请参考获取项目ID,{instance_id}信息请参考查询实例列表。 Body: { "orgs" : [ { "name" : "org1" }], "org_order_info"
般为32位字符串。 blockchain_id 是 String 区块链服务id。可调用“查询服务实例列表”接口获取ID channel_id 是 String 区块链通道名称。可调用“查询实例信息”接口获取,接口返回的“channels”中的name字段值 请求参数 表2 请求Header参数
口的组合。数据所有者将数据集发布到区块链,同时授权某申请者解密数据权限,被授权者可以直接解密数据集。此时,其他参与者均可以通过“查询指定数据集”和“查询数据集列表”接口获得数据相关描述信息,并通过申请-授权模式获取数据解密权限。 接口使用方法请参考数据集管理和数据订单管理。 图2
最大长度:32768 表3 请求Body参数 参数 是否必选 参数类型 描述 inviter_bcsid 是 String 邀请方BCS服务实例ID。可调用“查询服务实例列表”接口获取对应的ID inviter_projectid 是 String 邀请方项目ID。控制台->邀请方账号->我的凭证-
ContractRawMessage:包含交易背书、落盘两阶段消息的构建。 QueryRawMessage:包含所有查询相关接口的消息构建,目前支持交易详情查询、链状态查询、区块查询、合约信息查询等接口。 消息发送 同消息封装类接口,按类型进行了分类封装。消息发送相关接口均包含在action这个
delete(stub, args) } else if function == "query" { // 调用 query 实现账户查询操作 return t.query(stub, args) } // 传递的函数名出错,返回 shim.Error() return
状态码: 200 表2 响应Body参数 参数 参数类型 描述 transaction_id String 消息加密后对应的交易ID,用于查询解密后明文 data_to_chain Array of strings 非代为上链场景下,加密后的密文,需要在SDK侧完成上链 状态码: