在hyperledger中解密有效负载

时间:2016-07-27 15:33:03

标签: ibm-cloud blockchain hyperledger

我目前正在使用Developer Environment for Hyperledger Fabrics。我尝试使用GET来检索块信息,它确实给了我一个响应。但是,在响应中,有一个称为有效负载的组件,它的格式不可读。有没有办法让它可读/解密?例如,在bluemix中,当你执行派对时," a"和party" b",有效载荷显示inita100b100。

首先,我做了这个事务/ REST请求

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"mycc"
      },
      "ctorMsg": {
         "function":"invoke",
         "args":["a", "b", "100"]
      }
  },
  "id": 3
}

然后我做了这个查询请求

GET/localhost:5000/transactions/c6b0c82d-27f9-4c2c-8305-34b413d95057

并将其作为REST响应回复

{
  "type": 2,
  "chaincodeID": "EgRteWNj",
  "payload": "Ch8IARIGEgRteWNjGhMKBmludm9rZRIBYRIBYhIDMTAw",
  "uuid": "c6b0c82d-27f9-4c2c-8305-34b413d95057",
  "timestamp": {
    "seconds": 1469643763,
    "nanos": 524731069
  }
}

那么,无论如何都要解密/更改Ch8IARIGEgRteWNjGhMKBmludm9rZRIBYRIBYhIDMTAw以显示A transferred 100 to b或类似内容,至少对于技术含量较低的用户来说是否可读?

1 个答案:

答案 0 :(得分:3)

有效负载只是编码,您可以使用this对其进行解码(编码为base64)。在javascript中还有this function来解码它。

如果启用了安全/隐私,则有效负载也会被加密,因此您需要使用证书来解密有效负载,然后才能对其进行解码。