华为云用户手册

  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG", "productID" : "product1"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 applyer String 申请者的身份标识 applyerName String 申请者的名称 provider String 授权者的身份标识 providerName String 授权者的名称 service String 授权者的服务名 price Integer 价格 applyTime String 申请时间 encryptedABEKey String 被加密的ABE密钥 status String 申请状态,request表示未授权;ready表示申请已处理 reason String 原因 lockProof String 证明 attributesJson String 属性 状态码: 500 表4 响应Body参数 参数 参数类型 描述 errorCode String 错误码 errorMsg String 错误描述
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "applyer" : "did:example:Mb4SshJeN5ukWXkbMJK8xC", "provider" : "did:example:Mb4SshJeN5ukWXkbMJK8xC", "attrJson" : "[{\"name\":\"att1\",\"type\":\"plain\",\"value\":\"att1name\"},{\"name\":\"att2\",\"type\":\"plain\",\"value\":\"att2name\"},{\"name\":\"att3\",\"type\":\"plain\",\"value\":\"5\"}]"}
  • 响应示例 状态码: 200 ABE用户密钥订单信息 { "applyer" : "did:hwid:mfqqdiW8V64JbPFgQsoiv", "applyerName" : "", "provider" : "did:hwid:FahQr32NgQZWjGRiCZc37C", "providerName" : "", "service" : "", "price" : 0, "applyTime" : "", "encryptedABEKey" : "", "status" : "ready", "reason" : "", "lockProof" : "", "attributesJson" : "[{\"name\":\"att3\",\"type\":\"comparable\",\"value\":\"3\",\"maxValue\":\"1000\"}]"} 状态码: 500 失败响应 { "errorCode" : "BCS.5002046", "errorMsg" : "Incorrect number of arguments"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 applyer 是 String 申请者的身份标识 provider 是 String 授权者的身份标识 attrJson 否 Array of attribute objects 属性列表 表2 attribute 参数 是否必选 参数类型 描述 name 是 String 属性名 type 是 String 属性类型(plain,comparable) value 是 String 属性值(当type为plain时,value为属性值。当type为comparable时,value必须是整数。) maxValue 否 String 属性值上限,value可能取到的最大值。只在type为comparable时可选使用
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG", "orderSeq" : "1"}
  • 响应示例 状态码: 200 订单信息 { "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG", "consumerName" : "Tyler", "orderSeq" : "1", "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG", "providerName" : "hw", "productID" : "product1", "productName" : "prodname1", "price" : "0", "applyTime" : "1607332359", "encryptedAesKey" : "BNGhPwjaTgpM+V7czzw1i4mH21KKN+XLKXHLqVsRIfybUCncqZNfomkRfzX4WEHj+oty1X9oCd4h6xMnRvs8BWE5Tvg6BJ6QTW/km9EO/FSYqzJf2GqQzAleAcLJrTBZ3LRbPaF87CgJ114ae7R+VK9VvfXQ8exuH2KMRD305dXieGpM4VPVv9u1BbL15Jpd/g==", "status" : "ready", "reason" : "I want product1", "lockProof" : ""} 状态码: 500 失败响应 { "errorCode" : "BCS.5002046", "errorMsg" : "Incorrect number of arguments"}
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 consumer String 订单消费者身份标识 consumerName String 订单消费者名称 orderSeq String 订单序列号 provider String 订单提供者身份标识 providerName String 订单提供者名称 productID String 数据集产品id productName String 数据集产品名称 price String 订单价钱 applyTime String 订单申请时间 encryptedAesKey String 密钥 status String 订单状态 reason String 订单申请原因 lockProof String 订单锁定证明 creatorDID String 流程创建者DID,如果没有加入任何流程,为“” processID String 当前订单所属流程ID,如果没有加入任何流程,为“” 状态码: 500 表3 响应Body参数 参数 参数类型 描述 errorCode String 错误码 errorMsg String 错误描述
  • 响应示例 状态码: 200 Success { "user" : "admin", "token" : "ACiUxRlk2Jcu2d5bp2SyfP7abHV1nVKlo9Mm2AxI9dDN7mdHXXHBdg=kaIglHeZLTu6UeIu5YRcXTlpUPXylEG3ESNu0vIukrikG6SVhO393ds8rG+aRnZ+mMyookApP", "expire_time" : 1605867860701} 状态码: 400 Bad Request { "error_code" : "BCS.4000013", "error_message" : "request body is too large"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 consumer 是 String 订单申请者身份标识 orderSeq 是 String 订单序列号
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG", "orderSeq" : "1"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 consumer 是 String 订单申请者身份标识 orderSeq 是 String 订单序列号
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 encryptData 是 String 数据密文,当onChainStore设置为“true”时,可不输入 applyer 是 String 申请者的身份标识 provider 是 String 授权者的身份标识 orderSeq 否 String 订单序列号,当onChainStore为true时,订单序列号必填。 onChainStore 否 String 数据密文是否在链上存储,可设置为“true”或“false”,默认为“false”。如果设置为“true”,则不需要输入encryptData,可自动在链上获取数据密文
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "encryptData" : "string", "onChainStore" : "false", "applyer" : "did:example:Mb4SshJeN5ukWXkbMJK8xC", "provider" : "did:example:Mb4SshJeN5ukWXkbMJK8xC"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 provider 是 String 数据集提供者身份标识 productID 是 String 数据产品id
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG", "productID" : "product1"}
  • 请求示例 DELETE https://192.168.0.90:30603/v2/agent/apis/chaincode/uninstall{ "chaincode_name" : "chaincode1", "chaincode_version" : "1.0", "target_peers" : [ { "org_id" : "9802af57cfab764dc12b860c44b01969575e83c9", "peer_id" : "peer-9802af57cfab764dc12b860c44b01969575e83c9-1.peer-9802af57cfab764dc12b860c44b01969575e83c9.default.svc.cluster.local" } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total_peer_num Integer 链代码操作Peer总数 success_peer_num Integer 操作成功Peer数量 fail_peer_num Integer 操作失败Peer数量 fail_peers Array of strings 操作失败Peer信息 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_message String 错误描述 error_msg String 错误描述
  • 响应示例 状态码: 200 Success { "total_peer_num" : 4, "success_peer_num" : 4, "fail_peer_num" : 0, "fail_peers" : [ ]} 状态码: 400 Bad Request { "error_code" : "BCS.4000013", "error_message" : "request body is too large"}
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 表2 请求Body参数 参数 是否必选 参数类型 描述 chaincode_name 是 String 链代码名称,以小写字母开头,支持小写字母和数字,长度6-25位 最小长度:6 最大长度:25 chaincode_version 是 String 链代码版本,只允许使用数字、点(.)、横杠(-),必须以数字开头和结尾,且点和横杠不能相邻 target_peers 是 Array of TargetPeer objects 卸载链代码peer信息 表3 TargetPeer 参数 是否必选 参数类型 描述 org_id 是 String peer所属组织ID peer_id 是 String Peer ID
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "owner" : "did:example:8poVETnVCry9ecfHSDeQaR"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 owner 是 String 密钥生成者的身份标识 keyManagerMode 否 String abe系统首次使用时,需选择中心模式“central”或者多中心模式“distributed”,该模式仅可选择一次,默认为多中心模式。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 表2 请求Body参数 参数 是否必选 参数类型 描述 chaincode_name 是 String 链代码名称,以小写字母开头,支持小写字母和数字,长度6-25位 最小长度:6 最大长度:25 chaincode_version 是 String 链代码版本,只允许使用数字、点(.)、横杠(-),必须以数字开头和结尾,且点和横杠不能相邻 channel_name 是 String 实例化通道名称 endorsement_policy 是 Policy object 背书策略 init_variable 是 InitArgs object 初始化函数及参数 private_data 否 String 隐私保护配置数据,json数据的string格式,json数据结构举例:[{"name":"kvstore-collection","policy":"OR('9b4ea44913e8eed42cb056177b46191e1d316678MSP.member','9b4ea44913e8eed42cb056177b46191e1d316678MSP.member')","requiredPeerCount":0,"maxPeerCount":2,"blockToLive":0,"memberOnlyRead":true}] 表3 Policy 参数 是否必选 参数类型 描述 operation 是 String 操作符。 OR:任意组织背书 AND:全部组织背书 group 是 Array of OrgPolicy objects 组织背书成员 表4 OrgPolicy 参数 是否必选 参数类型 描述 org_id 是 String 组织ID category 否 String 成员类型:member、admin 表5 InitArgs 参数 是否必选 参数类型 描述 func_name 是 String 初始化函数名 args 是 Array of strings 初始化参数列表
  • 请求示例 POST https://192.168.0.90:30603/v2/agent/apis/chaincode/instantiate{ "chaincode_name" : "gochaincode2", "chaincode_version" : "1.0", "channel_name" : "channel001", "endorsement_policy" : { "operation" : "AND", "group" : [ { "org_id" : "8cc7155fb1f26ebac1743f481386c14223be511f", "category" : "member" } ] }, "init_variable" : { "func_name" : "init", "args" : [ "a", "200", "b", "100" ] }, "private_data" : "[{\"name\": \"kvstore-collection\",\"policy\": \"OR('8cc7155fb1f26ebac1743f481386c14223be511fMSP.member','8cc7155fb1f26ebac1743f481386c14223be511fMSP.member')\",\"requiredPeerCount\": 0,\"maxPeerCount\": 2,\"blockToLive\": 0,\"memberOnlyRead\": true}]"}
  • 请求示例 { "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----", "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG", "orderSeq" : "1", "encryptData" : "base64 encoding string", "watermarkType" : "string", "onChainStore" : "string"}
  • 响应示例 状态码: 200 订单信息。 { "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG", "productID" : "product1", "plaintext" : "base64 encoding string"} 状态码: 500 失败响应 { "errorCode" : "BCS.5002046", "errorMsg" : "Incorrect number of arguments"}
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 证书 sk 是 String 私钥 timestamp 是 String 时间戳 consumer 是 String 订单申请者身份标识 orderSeq 是 String 订单序列号 encryptData 否 String 数据密文,当onChainStore设置为“true”时,可不输入 watermarkType 否 String 水印类型,visible明水印,blind暗水印,嵌入水印时,必须填写本字段。如果发布或主动分享数据集的时候嵌入的是暗水印,则无法再次嵌入暗水印。嵌入的水印内容为:使用人did_orderID。 onChainStore 否 String 数据密文是否在链上存储,可设置为“true”或“false”,默认为“false”。如果设置为“true”,则不需要输入encryptData,可自动在链上获取数据密文
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_peer_num Integer 链代码操作Peer总数 success_peer_num Integer 操作成功Peer数量 fail_peer_num Integer 操作失败Peer数量 fail_peers Array of strings 操作失败Peer信息 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_message String 错误描述 error_msg String 错误描述
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 表2 FormData参数 参数 是否必选 参数类型 描述 chaincode_name 是 String 链代码名称,以小写字母开头,支持小写字母和数字 最小长度:6 最大长度:25 chaincode_version 是 String 链代码版本,只允许使用数字、点(.)、横杠(-),必须以数字开头和结尾,且点和横杠不能相邻 最小长度:1 最大长度:14 target_peers 是 String 链代码安装Peer列表信息,例如:[{"org_id":"9fb42c91458763990a45b62af92546a21f168dae","org_name":"organization3","peer_id":"peer-9fb42c91458763990a45b62af92546a21f168dae-0.peer-9fb42c91458763990a45b62af92546a21f168dae.default.svc.cluster.local","peer_name":"peer-0"}] description 否 String 链代码描述 chaincode_language 是 String 链代码编程语言,例如 golang db_type 否 String 账本数据存储方式,请按照实例创建时的账本数据存储方式填写。例如 goleveldb,couchdb security_check 否 String 链代码安全检查选项,目前只对golang语言链代码有效,true表示开启,false表示关闭,默认为false file 是 File 链代码zip文件
  • 请求示例 POST https://192.168.0.90:30603/v2/agent/apis/chaincode/install{chaincode_name:gochaincode3chaincode_version:2.0target_peers:[{"org_id":"9802af57cfab764dc12b860c44b01969575e83c9","org_name":"organization","peer_id":"peer-9802af57cfab764dc12b860c44b01969575e83c9-1.peer-9802af57cfab764dc12b860c44b01969575e83c9.default.svc.cluster.local","peer_name":"node-1"}]description:22222222chaincode_language:golangdb_type:goleveldbsecurity_check:true}
共100000条