云服务器内容精选

  • 请求消息 表1 请求参数 参数 是否必选 参数类型 描述 channelId 是 String 区块链 通道ID chaincodeId 是 String 链代码ID chaincodeVersion 否 String 链代码版本 userId 是 String 由组织CA签发的用户ID,目前区块链服务默认生成的都为User1 orgId 是 String 区块链组织ID orgPeers 是 String 由组织中每个节点的组织ID和 域名 组成的数组,形如: [{"orgId":"7258adda1803f4137eff4813e7aba323018200c5","peerDomainName":"peer-7258adda1803f4137eff4813e7aba323018200c5-0.peer-7258adda1803f4137eff4813e7aba323018200c5.default.svc.cluster.local"}] opmethod 是 String 区块链链码调用类型,目前只有两类调用方法:invoke和query。 args 是 String 链码调用参数,形如:["invoke","a","b","1"] timestamp 是 String 格式为2018-10-31T17:28:16+08:00 cert 是 String 用户的证书文件,以字符串形式上传 以上参数获取方式,详细参见用户指南中的链代码管理和区块浏览器章节。 在链代码管理页面中,单击链代码名称前的,展开链代码详细信息,您可以查看当前链代码的版本列表、安装列表和实例化情况。 在区块浏览器页面中,在通道下拉框中选择一个通道,下方的数据即可实时刷新供您查看多项数据。区块链相关信息的查询功能,包括区块数量、交易数量、区块详细信息、交易详细信息、性能数据及节点状态等。 为了保证交易安全性,需要使用Fabric用户证书(证书获取方式请见下载用户证书)中的私钥对请求消息体进行签名(目前只支持椭圆曲线,暂不支持国密等其他加密算法),并将签名结果放到消息头部x-bcs-signature-sign字段。 链码REST API自定义了一些消息头,请参见表2。 表2 自定义消息头 名称 是否必选 描述 x-bcs-signature-sign 是 链码调用请求消息体签名。 x-bcs-signature-method 是 加密类型,目前固定是SW。 x-bcs-signature-sign-gzip 是 Sign是否选择Gzip压缩。0表示否,1表示是。 x-bcs-signature-sign:为了保证只允许有权限的调用端才能够进行合法的链码调用,需要使用下载用户证书中下载的用户私钥以ECDSA椭圆曲线的加密方式对整个请求消息体的SHA256摘要进行加密签名,x-bcs-signature-sign值即为签名结果。
  • 示例 下面是调用invoke类型的链代码示例。 请求示例 { "channelId": "testchannel", "chaincodeId": "zmmcode", "chaincodeVersion": "1.0", "userId": "User1", "orgId": "7258adda1803f4137eff4813e7aba323018200c5", "orgPeers": "[{\"orgId\":\"7258adda1803f4137eff4813e7aba323018200c5\",\"peerDomainName\":\"peer-7258adda1803f4137eff4813e7aba323018200c5-0.peer-7258adda1803f4137eff4813e7aba323018200c5.default.svc.cluster.local\"}]", "opmethod": "invoke", "args": "[\"invoke\",\"a\",\"b\",\"1\"]", "timestamp": "2018-10-31T17:28:16+08:00", "cert": "-----BEGIN CERTIFICATE-----\nMIIDBzCCAq2gAwIBAgIQEXPZlMsReamxVtVNnKwCCzAKBggqhkjOPQQDAjCCAQQx\nDjAMBgNVBAYTBUNISU5BMRAwDgYDVQQIEwdCRUlKSU5HMRAwDgYDVQQHEwdCRUlK\nSU5HMXkwdwYDVQQKE3A3MjU4YWRkYTE4MDNmNDEzN2VmZjQ4MTNlN2FiYTMyMzAx\nODIwMGM1LnBlZXItNzI1OGFkZGExODAzZjQxMzdlZmY0ODEzZTdhYmEzMjMwMTgy\nMDBjNS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsMVMwUQYDVQQDE0pjYS5wZWVy\nLTcyNThhZGRhMTgwM2Y0MTM3ZWZmNDgxM2U3YWJhMzIzMDE4MjAwYzUuZGVmYXVs\ndC5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xODEwMzAwMjQ5MjZaFw0yODEwMjcwMjQ5\nMjZaMIG1MQ4wDAYDVQQGEwVDSElOQTEQMA4GA1UECBMHQkVJSklORzEQMA4GA1UE\nBxMHQkVJSklORzF/MH0GA1UEAwx2VXNlcjFANzI1OGFkZGExODAzZjQxMzdlZmY0\nODEzZTdhYmEzMjMwMTgyMDBjNS5wZWVyLTcyNThhZGRhMTgwM2Y0MTM3ZWZmNDgx\nM2U3YWJhMzIzMDE4MjAwYzUuZGVmYXVsdC5zdmMuY2x1c3Rlci5sb2NhbDBZMBMG\nByqGSM49AgEGCCqGSM49AwEHA0IABPMrzoJL/MHeSFPFOJWLqnJ0sqB0it7wDIOq\n+eTSvvPpGk1BIDmb2n13K5V04RO8xNezDQ7I6rW4LF2elq14eH+jTTBLMA4GA1Ud\nDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIFBXQ5TC4acFeTlT\nJuDZg62XkXCdnOfvbejSeKI2TXoIMAoGCCqGSM49BAMCA0gAMEUCIQCadHIKl0Mk\nYn0WZizyDZYR4rT2q0nzjFaiW+YfV5FBjAIgNalKUe3rIwXJvXORV4ZXurEua2Ag\nQmhcjRnVwPTjpTE=\n-----END CERTIFICATE-----\n"} 响应示例 After invoke the count of a is 188 b is 262
  • 下载用户证书 进行API调用前,需要下载区块链服务中已经配置生成的用户证书。 登录华为云区块链服务控制台。 进入“实例管理”界面,可以看到已经购买的区块链实例卡片。 单击卡片上的“获取客户端配置”,勾选“Peer节点证书”。选择指定节点组织,勾选“用户证书”。 单击“下载”,下载相应组织的用户证书。 解压证书,其中msp文件夹中,keystore文件夹存储的是组织用户私钥,signcerts文件夹存储的是用户证书(公钥)。