Hyperledger Explorer运行无响应及客户端未分配身份报错咨询
解决Hyperledger Explorer报错「No identity has been assigned to this client」的方案
咱先拆解下这个问题:浏览器加载不出内容+这个身份报错,核心原因就是Explorer没拿到能访问Fabric网络的合法身份证书,导致它没法和通道、节点交互,自然就返回空内容了。下面给你一步步排查的办法:
1. 先检查Explorer的核心配置文件config.json
找到Explorer安装目录下的app/platform/fabric/config.json,重点核对这几个部分:
- 证书路径配置:确保
organizations下每个组织的adminPrivateKey和signedCert是Fabric网络里真实存在的绝对路径,比如:
别用相对路径,很容易踩坑;另外要确认"organizations": { "Org1MSP": { "mspid": "Org1MSP", "adminPrivateKey": { "path": "/home/ubuntu/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk" }, "signedCert": { "path": "/home/ubuntu/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem" } } }mspid和你Fabric网络里的组织MSPID完全一致,别打错字母。 - 凭证存储路径:检查
client下的credentialStore配置,确保路径是Explorer有权限读写的:"credentialStore": { "path": "./tmp/credentialStore", "cryptoStore": { "path": "./tmp/cryptoStore" } }
2. 确认证书文件的权限和有效性
- 先去你配置的证书路径看看,
priv_sk和对应的证书文件是不是真的存在; - 给证书所在的整个目录加可读权限,比如:
避免Explorer进程因为权限不够读不到证书。chmod -R 755 /home/ubuntu/fabric-samples/test-network/organizations
3. 清理缓存后重启Explorer
有时候临时缓存的凭证会出问题,咱清掉重来:
- 停止Explorer:
./stop.sh(在Explorer根目录执行) - 删除临时缓存文件夹:
rm -rf ./tmp/credentialStore ./tmp/cryptoStore - 重新启动:
./start.sh - 启动后去
logs/目录下看日志,确认有没有新的报错信息。
4. 顺带确认PostgreSQL连接正常
虽然这次报错是身份问题,但先确保数据库连接没问题:
- 用
psql测试连接字符串:
输入密码psql -U hppoc -d fabricexplorer -h 127.0.0.1 -p 5432password,看能不能正常登录数据库; - 如果数据库还没初始化,先执行初始化脚本:
cd blockchain-explorer/app/persistence/fabric/postgreSQL/db ./createdb.sh
按这几步排查下来,大概率能解决身份分配的问题,之后再访问http://localhost:8080/应该就能看到内容了。
内容的提问来源于stack exchange,提问作者Christian Lim
相关产品推荐
相关产品推荐

