常见Fabric错误场景(持续更新)

天地一小儒 · · 18177 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1. Error: error getting endorser client for channel: endorser client failed to connect to orderer.rabbit.com:8051: failed to create new connection: context deadline exceeded

原因:CORE_PEER_ADDRESS=orderer.rabbit.com:8051 地址不对或peer节点未启动

2. Error: proposal failed (err: bad proposal response 500: access denied for [JoinChain][testc2]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]])

原因:CORE_PEER_MSPCONFIGPATH=crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp msp地址未设置,或设置的地址不是admin

3. Error: failed to create deliver client: orderer client failed to connect to 192.168.127.129:7050: failed to create new connection: context deadline exceeded

原因:orderer节点地址不对,或orderer节点未启动

4. Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1

原因:通道已创建

5. got unexpected status: BAD_REQUEST -- error authorizing update: error validating DeltaSet: policy for [Group] /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining

原因:通常表示频道创建事务的签名者没有其中一个联盟组织的管理员权限
最常见的原因是:
a) 该身份不在组织的管理员列表中。
b) 组织证书未由组织CA链有效签署。
c) 订货人不知道身份的组织。

其他一些不太可能的可能性因为您使用的是对等二进制而不是自定义代码
a) 签名与标识或有符号字节不匹配。
b) 身份是畸形的。

6. Cannot run peer because error when setting up MSP of type bccsp from directory /home/wff/jaderabbit/echain1/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp: could not initialize BCCSP Factories: Failed initializing BCCSP.: Could not initialize BCCSP SW [Failed to initialize software key store: An invalid KeyStore path provided. Path cannot be an empty string.] Could not find default SW BCCSP

原因:老版viper不会报错,这是由于你是用的最新版本的viper。如果你一定要使用最新版本的viper(我也想用),这里也可以提供一个不太正式的修改方案。
新版viper修改方法:github.com/hyperledger/fabric/peer/common/common.go

// SetBCCSPKeystorePath sets the file keystore path for the SW BCCSP provider
// to an absolute path relative to the config file
func SetBCCSPKeystorePath() {
    if path := config.GetPath("peer.BCCSP.SW.FileKeyStore.KeyStore"); path != "" {
        viper.Set("peer.BCCSP.SW.FileKeyStore.KeyStore", path)
    }
}

7. resource temporarily unavailable

原因:打开了相同的leveldb

8. error getting default signer: error obtaining the default signing identity: this MSP does not possess a valid default signing identity

原因:未初始化MSP,可以试试调用这个命令进行初始化

common.InitCmd(nil,[]string{})

9. proposal failed (err: bad proposal response 500: cannot create ledger from genesis block: LedgerID already exists)

原因:重复加入channel

10. error getting endorser and deliver clients: no endorser clients retrieved - this might indicate a bug

获取endorser客户端时,peerAddresses是空数组,须是元素为空串,长度为1的数组

11. Bad configuration detected: Received AliveMessage from a peer with the same PKI-ID as myself: tag:EMPTY alive_msg:<membership:<pki_id:"\206\0367dH\361\312\347\300l\035@1v\356\030\003\233*\355\241\234\262zf\352\264\367w\007\302\226" > timestamp:<inc_num:1554097615134317977 seq_num:539 > >

使用了相同的msp证书

12. error: chaincode fingerprint mismatch: data mismatch

安装链代码时,基本流程的工作方式如下:

  1. 考虑到包括传递在内的所有依赖关系,它被打包到存档文件中
  2. 使用golang环境在docker容器内复制并在那里编译
  3. 如果我没有弄错,下一个peer会建立新的chaincode容器并移动已编译的二进制文件 /usr/bin/local/chaincode
    现在,问题在于$GOPATH您的计算机中很可能存在差异,因此在不同的计算机上安装相同的链代码会带来不同的依赖关系,最终会产生不同的手指结果。
    您需要做的是将您的链代码打包在一个地方并分发包以安装它。
peer chaincode package -n name -v 1.0 -p path_to_your_chaincode

13. Got error while committing(unexpected Previous block hash. Expected PreviousHash =

通道创始块配置文件和orderer里的创始块配置不匹配

14. error: Error constructing Docker VM Name. 'dev1-trembling--human--rabbit_02-1.0-f21065c44f48dc8183241105b2a4dac241d062f17f6678c851c9d6989df58c71' breaks Docker's repository naming rules

core.yaml中的peer.id有特殊字符

15. Error: error endorsing chaincode: rpc error: code = Unknown desc = access denied: channel [syschannel] creator org [Org1MSP]

没加入syschannel通道

  1. error Entry not found in index
    查询的数据不存在。最直观的可能就是你所查询的数据是脏数据,源数据已经被清除,再查询时,就会报这个错误

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:天地一小儒

查看原文:常见Fabric错误场景(持续更新)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

18177 次点击  
加入收藏 微博
1 回复  |  直到 2020-10-25 20:56:30
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传