fabric 实例化链码的时候出现这样的错误!安装的时候是没有问题的、这个是怎么回事呢?找了很久都没有找到解决方案

官方简单的一个 demo 链码、init 的方法都是直接返回一个字符串

链码内容:

为了直观展示就 init 只返回了一个错误的字符串

func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
    return shim.Error("hello")
}

安装链码且实例化链码的过程如下:

# 安装链码
root@cli-6d4b59664-p4xfc:/opt/gopath/src/chaincode# peer chaincode install -n mycca -v 1.0 -p chaincode/
2021-02-23 06:46:23.904 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2021-02-23 06:46:23.904 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2021-02-23 06:46:24.054 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >

#实例化链码
root@cli-6d4b59664-p4xfc:/opt/gopath/src/chaincode# peer chaincode instantiate -o orderer0.adminnodborderer:7050 --tls --cafile /etc/hyperledger/crypto-config/ordererOrganizations/adminnodborderer/orderers/orderer0.adminnodborderer/msp/tlscacerts/tlsca.adminnodborderer-cert.pem -C myc -n mycca -v 1.0 -c '{"Args":["init"]}'
2021-02-23 06:48:49.284 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2021-02-23 06:48:49.285 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg chaincode registration failed: container exited with 0

已尝试根据network处解决、可最终结果还是不行

玩这个的大佬、麻烦指教下

阅读 4.8k
2 个回答

问题解决了、是因为没有修改docker.service、具体操作如下:

vim /lib/systemd/system/docker.service

在 ExecStart 参数后追加
kube-dns 的 ip: 10.96.0.10
宿主机网络 DNS 的地址为: 192.168.0.1

--dns=10.96.0.10 --dns=192.168.0.1 --dns-search default.svc.cluster.local --dns-search svc.cluster.local --dns-opt ndots:2 --dns-opt timeout:2 --dns-opt attempts:2

因为是集群、所以需要在每个k8s worker节点都要修改、然后重启Docker服务就行了

systemctl daemon-reload && systemctl restart docker
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题