无法使用一个节点设置 hyperledger explorer(如基本网络示例)

Unable to setup hyperledger explorer with one node (like basic network example)

有没有人设法用基本网络示例设置 hyperledger 资源管理器(设法用第一个网络设置它)。在这种情况下,它不会接收我的 peer/channel。该配置适用于四个同行和一个具有两个组织(第一网络)的订购者,但我似乎无法让它只与一个同行一起工作。任何帮助将不胜感激!

面料版本:1.2 资源管理器版本:3.7.1

config.json(实际文件格式正确):-

    {
     "network-configs": {
       "network-1": {
         "version": "1.0",
          "clients": {
            "client-1": {
               "tlsEnable": true,
               "organization": "Org1MSP",
               "channel": "myc",
               "credentialStore": {
               "path": "./tmp/credentialStore_Org1/credential",
               "cryptoStore": {
                  "path": "./tmp/credentialStore_Org1/crypto"
                }
      }
    }
  },
  "channels": {
    "myc": {
      "peers": {
        "peer0.org1.example.com": {}
      },
      "connection": {
        "timeout": {
          "peer": {
            "endorser": "6000",
            "eventHub": "6000",
            "eventReg": "6000"
          }
        }
      }
    }
  },
  "organizations": {
    "Org1MSP": {
      "mspid": "Org1MSP",
      "fullpath": false,
      "adminPrivateKey": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/users/Admin@org1.example.com/msp/keystore"
      },
      "signedCert": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
      }
    },
    "OrdererMSP": {
      "mspid": "OrdererMSP",
      "adminPrivateKey": {
        "path":
          "/fabricsamples/basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore"
      }
    }
  },
  "peers": {
    "peer0.org1.example.com": {
      "tlsCACerts": {
        "path":
          "/fabricsamples/basic-network/crypto-config/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
      },
      "url": "grpcs://peer0.org1.example.com:7051",
      "eventUrl": "grpcs://peer0.org1.example.com:7053",
      "grpcOptions": {
        "ssl-target-name-override": "peer0.org1.example.com"
      }
    }
  },
  "orderers": {
    "orderer.example.com": {
      "url": "grpcs://orderer.example.com:7050"
    }
  }
}
     },
    "configtxgenToolPath": "/home/ett/go/src/themeSCF/bin",
     "license": "Apache-2.0"
    }

首先,关于您的配置文件的一些建议:

  • tlsEnable 应该是 false - 基本网络示例不使用 TLS。
  • 所有 URL 都应使用 grpc - grpcs 仅在启用 TLS 时使用。
  • 所有 URL 都应使用 localhost - 假设您的路径条目正确,看起来您是 运行 本地资源管理器(即不在容器中)。在这种情况下,所有地址都应使用 localhost。

您还需要编辑 basic-network 使用的 docker-compose.yml 文件添加以下内容:

services: 
  peer0.org1.example.com: 
      environment:
        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051

否则,对等点将拒绝来自其组织外部的所有连接。

将此更改应用于 docker-compose.yml 后,我能够按照说明 here 使用名为 [=16] 的配置文件夹在 docker 容器中成功部署 Explorer 3.7 =] 和以下命令:

./deploy_explorer.sh basic-network net_basic

以及 blockchain-explorer/examples/basic-network 中的以下 config.json 文件:

{
  "network-configs": {
    "network-1": {
      "version": "1.0",
      "clients": {
        "client-1": {
          "tlsEnable": false,
          "organization": "Org1MSP",
          "channel": "mychannel",
          "credentialStore": {
            "path": "./tmp/credentialStore_Org1/credential",
            "cryptoStore": {
              "path": "./tmp/credentialStore_Org1/crypto"
            }
          }
        }
      },
      "channels": {
        "mychannel": {
          "peers": {
            "peer0.org1.example.com": {}
          },
          "connection": {
            "timeout": {
              "peer": {
                "endorser": "6000",
                "eventHub": "6000",
                "eventReg": "6000"
              }
            }
          }
        }
      },
      "organizations": {
        "Org1MSP": {
          "mspid": "Org1MSP",
          "fullpath": false,
          "adminPrivateKey": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore"
          },
          "signedCert": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
          }
        },
        "OrdererMSP": {
          "mspid": "OrdererMSP",
          "adminPrivateKey": {
            "path":
              "/tmp/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore"
          }
        }
      },
      "peers": {
        "peer0.org1.example.com": {
          "tlsCACerts": {
            "path":
              "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
          },
          "url": "grpc://peer0.org1.example.com:7051",
          "eventUrl": "grpc://peer0.org1.example.com:7053",
          "grpcOptions": {
            "ssl-target-name-override": "peer0.org1.example.com"
          }
        }
      },
      "orderers": {
        "orderer.example.com": {
          "url": "grpc://orderer.example.com:7050"
        }
      }
    }
  },
  "configtxgenToolPath": "/home/fabric-path/workspace/fabric-samples/bin",
  "license": "Apache-2.0"
}

如果您在按照上述说明操作后仍然遇到问题,请post Blockchain Explorer 报告的任何错误的详细信息以及 Blockchain Explorer 日志文件 (app.log)。使用 docker 部署脚本时,可以使用以下命令查看这些:

docker logs blockchain-explorer
docker exec -t blockchain-explorer cat /opt/logs/app/app.log