Error: Error trying to ping. Error: 2 UNKNOWN

Error: Error trying to ping. Error: 2 UNKNOWN

我已将 composer [cli、playground、rest server etc..] 从 v.0.16.5 更新到 v 0.19.0。部署网络后,当我尝试 ping 网络时,它首先抛出错误,然后在第二次尝试时连接到它。为什么会这样?我如何激活当前的身份管理错误?

composer network ping -c admin@university

错误:尝试 ping 时出错。错误:2 未知:执行链代码时出错:事务返回失败:错误:必须激活名称为 'admin' 且标识符为 '01899e04161a3a6d64670504fa122e55818295352929b6a616333a3739fde3f2' 的当前身份 (ACTIVATION_REQUIRED) 命令失败

composer network ping -c admin@university

已成功测试网络连接:大学 商务网版本:0.0.1 作曲家运行时版本:0.19.0 参与者:org.hyperledger.composer.system.NetworkAdmin#admin 身份:org.hyperledger.composer.system.Identity#76edd946537645ea0016455a076e32dd10daac1e39fb75200d737b78dbca675d

命令成功

首次使用身份时,它有一个注册 ID 和秘密,状态为 "ISSUED"。第一次使用后,Secret 失效,证书被传递到客户端钱包,ID 的状态为 "ACTIVATED".

您可以在 composer identity list 命令的此示例输出中看到这些不同的状态:

$class:      org.hyperledger.composer.system.Identity
  identityId:  3a1f3c629ef2106b138836f3c9e5fe1ac8358c60a4a1232c5ef1a16a805ab313
  name:        mary
  issuer:      ac3dbcbe135ba48b29f97665bb103f8260c38d3872473e584314392797c595f3
  certificate: 
  state:       ISSUED
  participant: resource:org.acme.mynetwork.Trader#mary


- 
  $class:      org.hyperledger.composer.system.Identity
  identityId:  57d1f173c6a9a7f789d243749de16340fee8bf383748d47ac360f846e5c238b9
  name:        mark
  issuer:      ac3dbcbe135ba48b29f97665bb103f8260c38d3872473e584314392797c595f3
  certificate: 
    """
  -----BEGIN CERTIFICATE-----
  MIICbTCCAhOgAwIBAgIUWHvLyD+Vs6YE1KTpCm1LlQej728wCgYIKoZIzj0EAwIw
  czELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh
  biBGcmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMT
  E2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTgwNDAzMTExNjAwWhcNMTkwNDAzMTEy
  MTAwWjAtMRwwDQYDVQQLEwZjbGllbnQwCwYDVQQLEwRvcmcxMQ0wCwYDVQQDEwRt
  YXJrMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER3WsqouV+M07SG8gMExLFCZs
  8aUSsH8hMRUhKjibzV8fE/JJMOitoLSRpa/KU24p9IiDqBPZY/QdszTE5wzbuqOB
  yjCBxzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU7EL5
  azn+RHinsX6EvEFZeQ5/II4wKwYDVR0jBCQwIoAgGatlq7sEgH2tEuTAqaqmZJ5w
  ho46vQIXoyLYnkfhpq4wWwYIKgMEBQYHCAEET3siYXR0cnMiOnsiaGYuQWZmaWxp
  YXRpb24iOiJvcmcxIiwiaGYuRW5yb2xsbWVudElEIjoibWFyayIsImhmLlR5cGUi
  OiJjbGllbnQifX0wCgYIKoZIzj0EAwIDSAAwRQIhAJSXtjEMu/8xkd0uLzJOP91h
  JdHa57ihiPkxOjRGqthTAiAMFrhY0gu/yUxN9cuLdmt/tNaile8W2/Kt+yZBW+ng
  gg==
  -----END CERTIFICATE-----

    """
  state:       ACTIVATED
  participant: resource:org.acme.mynetwork.Trader#t01

composer identity list命令给出了服务器端的视图,但是使用composer card list可以看到客户端视图:

composer card list -c mary
userName:            mary
description:         
businessNetworkName: tutorial-network
identityId:          
roles:               none
connectionProfile: 
  name:   hlfv1
  x-type: hlfv1
credentials:         One time use only secret set

composer card list -c mark@tutorial-network
userName:            mark
description:         
businessNetworkName: tutorial-network
identityId:          57d1f173c6a9a7f789d243749de16340fee8bf383748d47ac360f846e5c238b9
roles:               none
connectionProfile: 
  name:   hlfv1
  x-type: hlfv1
credentials:         Credentials set

所以您从 'Activation Required' 到激活的转换是可以的,但不寻常的是 "command failed" - 正常的是从 ISSUED 到 ACTIVATED 的转换对用户是隐藏的,并且第一个 ping 成功了!