I changed the ./startFabric.sh file to use javascript as the chaincode language (CC_SRC_LANGUAGE=${1:-"javascript"}. I get the following while trying to instantiate the javascript chaincode.
Instantiating smart contract on mychannel
+ docker exec -e CORE_PEER_LOCALMSPID=Org1MSP -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n fabcar -l node -v 1.0 -c '{"Args":[]}' -P 'AND('\''Org1MSP.member'\'','\''Org2MSP.member'\'')' --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
2019-09-23 21:35:15.103 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-09-23 21:35:15.103 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 127
I am using MacOS 10.14.6 and Docker version 2.1.0.3 Any help will be very much appreciated
I had the same error and it was driving me crazy.
So I did analysis and fixed it.
Here is what I did.
* not sure if all of these matter until I perform further analysis,
but adding the following worked * :)
1) In startFabric.sh I set CC_SRC_LANGUAGE to javascript:
CC_SRC_LANGUAGE=${1:-"javascript"}
2) To:
fabric-samples-release-1.4/chaincode/fabcar/javascript/lib/fabcar.js
I added:
//////////////////////////////////////////////////////////////////////////
constructor() {
super();
}
async instantiate(ctx) {
// No implementation required with this example
// It could be where data migration is performed, if necessary
console.log('Instantiate the contract');
}
////////////////////////////////////////////////////////////////////////
3) In fabric-samples-release-1.4/first-network/byfn.sh I set (this one probably does not matter but not sure until I reset it back to "golang":
LANGUAGE="javascript"
4) In fabric-samples-release-1.4/chaincode/fabcar/javascript I executed this command:
npm install
4a) and fixed the errors by executing:
npm audit fix --force
5) I removed all the existing dev-* images by executing:
docker images -a | grep "dev" | awk '{print $3}' | xargs docker rmi -f
Then I ran ./startFabric.sh and BINGO! It worked!
I then cd'd to javascript and was able to execute:
node enrollAdmin.js
Result:
Wallet path: /Volumes/WDCWD10JPLX/markmorris/work/work-GO/src/github.com/hyperledger/fabric-samples-release-1.4/fabcar/javascript/wallet
Successfully enrolled admin user "admin" and imported it into the wallet
node registerUser.js
Result:
Wallet path: /Volumes/WDCWD10JPLX/markmorris/work/work-GO/src/github.com/hyperledger/fabric-samples-release-1.4/fabcar/javascript/wallet
Successfully registered and enrolled admin user "user1" and imported it into the wallet
node invoke.js
Result:
Wallet path: /Volumes/WDCWD10JPLX/markmorris/work/work-GO/src/github.com/hyperledger/fabric-samples-release-1.4/fabcar/javascript/wallet
Transaction has been submitted
node query.js
Result:
Wallet path: /Volumes/WDCWD10JPLX/markmorris/work/work-GO/src/github.com/hyperledger/fabric-samples-release-1.4/fabcar/javascript/wallet
Transaction has been evaluated, result is: [{"Key":"CAR0","Record":{"color":"blue","docType":"car","make":"Toyota","model":"Prius","owner":"Tomoko"}},{"Key":"CAR1","Record":{"color":"red","docType":"car","make":"Ford","model":"Mustang","owner":"Brad"}},{"Key":"CAR12","Record":{"color":"Black","docType":"car","make":"Honda","model":"Accord","owner":"Tom"}},{"Key":"CAR2","Record":{"color":"green","docType":"car","make":"Hyundai","model":"Tucson","owner":"Jin Soo"}},{"Key":"CAR3","Record":{"color":"yellow","docType":"car","make":"Volkswagen","model":"Passat","owner":"Max"}},{"Key":"CAR4","Record":{"color":"black","docType":"car","make":"Tesla","model":"S","owner":"Adriana"}},{"Key":"CAR5","Record":{"color":"purple","docType":"car","make":"Peugeot","model":"205","owner":"Michel"}},{"Key":"CAR6","Record":{"color":"white","docType":"car","make":"Chery","model":"S22L","owner":"Aarav"}},{"Key":"CAR7","Record":{"color":"violet","docType":"car","make":"Fiat","model":"Punto","owner":"Pari"}},{"Key":"CAR8","Record":{"color":"indigo","docType":"car","make":"Tata","model":"Nano","owner":"Valeria"}},{"Key":"CAR9","Record":{"color":"brown","docType":"car","make":"Holden","model":"Barina","owner":"Shotaro"}}]
HERE IS THE OUTPUT I WAS GETTING PRIOR TO MAKING THE ABOVE CHANGES:
2019-09-25 06:51:21.186 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-09-25 06:51:21.186 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg error starting container: error starting container: API error (400): OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/root/chaincode-java/start\": stat /root/chaincode-java/start: no such file or directory": unknown
HERE IS THE OUTPUT I GOT AFTER MAKING THE ABOVE CHANGES (NOTE I ENABLED DEBUG SO THAT IS WHY IT IS SO VERBOSE BUT AFTER THE FIRST TWO LINES IS WHERE IT CONTINUES SUCCESSFULLY :)
2019-09-25 07:51:26.857 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 04a Using default escc
2019-09-25 07:51:26.858 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 04b Using default vscc
2019-09-25 07:51:26.860 UTC [msp.identity] Sign -> DEBU 04c Sign: plaintext: 0ABF070A6708031A0C08FEB8ACEC0510...324D53500A04657363630A0476736363
2019-09-25 07:51:26.861 UTC [msp.identity] Sign -> DEBU 04d Sign: digest: 0A1BC3ADA9356F58B11EAF00E809EDF2EF6549EDAD8A4A1BC3830EB3E71751B5
2019-09-25 07:52:39.247 UTC [msp.identity] Sign -> DEBU 04e Sign: plaintext: 0ABF070A6708031A0C08FEB8ACEC0510...67A03ABE259A7BB2EE5CC8EEFA65822D
2019-09-25 07:52:39.248 UTC [msp.identity] Sign -> DEBU 04f Sign: digest: 9DEDC23FE7F0917AE54C018FA04650A225877BBE6F5ECD6B254A2EC15678914D
+ echo 'Waiting for instantiation request to be committed ...'
Waiting for instantiation request to be committed ...
+ sleep 10
+ echo 'Submitting initLedger transaction to smart contract on mychannel'
Submitting initLedger transaction to smart contract on mychannel
+ echo 'The transaction is sent to the two peers with the chaincode installed (peer0.org1.example.com and peer0.org2.example.com) so that chaincode is built before receiving the following requests'
The transaction is sent to the two peers with the chaincode installed (peer0.org1.example.com and peer0.org2.example.com) so that chaincode is built before receiving the following requests
+ docker exec -e CORE_PEER_LOCALMSPID=Org1MSP -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp cli peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"initLedger","Args":[]}' --waitForEvent --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses peer0.org1.example.com:7051 --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
2019-09-25 07:52:49.773 UTC [viperutil] getKeysRecursively -> DEBU 001 Found map[string]interface{} value for peer.BCCSP
2019-09-25 07:52:49.773 UTC [viperutil] unmarshalJSON -> DEBU 002 Unmarshal JSON: value cannot be unmarshalled: invalid character 'S' looking for beginning of value
2019-09-25 07:52:49.773 UTC [viperutil] getKeysRecursively -> DEBU 003 Found real value for peer.BCCSP.Default setting to string SW
2019-09-25 07:52:49.774 UTC [viperutil] getKeysRecursively -> DEBU 004 Found map[string]interface{} value for peer.BCCSP.SW
2019-09-25 07:52:49.774 UTC [viperutil] unmarshalJSON -> DEBU 005 Unmarshal JSON: value cannot be unmarshalled: invalid character 'S' looking for beginning of value
2019-09-25 07:52:49.774 UTC [viperutil] getKeysRecursively -> DEBU 006 Found real value for peer.BCCSP.SW.Hash setting to string SHA2
2019-09-25 07:52:49.775 UTC [viperutil] unmarshalJSON -> DEBU 007 Unmarshal JSON: value is not a string: 256
2019-09-25 07:52:49.775 UTC [viperutil] getKeysRecursively -> DEBU 008 Found real value for peer.BCCSP.SW.Security setting to int 256
2019-09-25 07:52:49.775 UTC [viperutil] getKeysRecursively -> DEBU 009 Found map[string]interface{} value for peer.BCCSP.SW.FileKeyStore
2019-09-25 07:52:49.776 UTC [viperutil] unmarshalJSON -> DEBU 00a Unmarshal JSON: value cannot be unmarshalled: unexpected end of JSON input
2019-09-25 07:52:49.776 UTC [viperutil] getKeysRecursively -> DEBU 00b Found real value for peer.BCCSP.SW.FileKeyStore.KeyStore setting to string
2019-09-25 07:52:49.776 UTC [viperutil] getKeysRecursively -> DEBU 00c Found map[string]interface{} value for peer.BCCSP.PKCS11
2019-09-25 07:52:49.777 UTC [viperutil] unmarshalJSON -> DEBU 00d Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.777 UTC [viperutil] getKeysRecursively -> DEBU 00e Found real value for peer.BCCSP.PKCS11.Library setting to <nil> <nil>
2019-09-25 07:52:49.777 UTC [viperutil] unmarshalJSON -> DEBU 00f Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.778 UTC [viperutil] getKeysRecursively -> DEBU 010 Found real value for peer.BCCSP.PKCS11.Label setting to <nil> <nil>
2019-09-25 07:52:49.778 UTC [viperutil] unmarshalJSON -> DEBU 011 Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.779 UTC [viperutil] getKeysRecursively -> DEBU 012 Found real value for peer.BCCSP.PKCS11.Pin setting to <nil> <nil>
2019-09-25 07:52:49.779 UTC [viperutil] unmarshalJSON -> DEBU 013 Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.780 UTC [viperutil] getKeysRecursively -> DEBU 014 Found real value for peer.BCCSP.PKCS11.Hash setting to <nil> <nil>
2019-09-25 07:52:49.780 UTC [viperutil] unmarshalJSON -> DEBU 015 Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.780 UTC [viperutil] getKeysRecursively -> DEBU 016 Found real value for peer.BCCSP.PKCS11.Security setting to <nil> <nil>
2019-09-25 07:52:49.781 UTC [viperutil] getKeysRecursively -> DEBU 017 Found map[string]interface{} value for peer.BCCSP.PKCS11.FileKeyStore
2019-09-25 07:52:49.781 UTC [viperutil] unmarshalJSON -> DEBU 018 Unmarshal JSON: value is not a string: <nil>
2019-09-25 07:52:49.782 UTC [viperutil] getKeysRecursively -> DEBU 019 Found real value for peer.BCCSP.PKCS11.FileKeyStore.KeyStore setting to <nil> <nil>
2019-09-25 07:52:49.782 UTC [viperutil] EnhancedExactUnmarshalKey -> DEBU 01a map[peer.BCCSP:map[Default:SW SW:map[Hash:SHA2 Security:256 FileKeyStore:map[KeyStore:]] PKCS11:map[Security:<nil> FileKeyStore:map[KeyStore:<nil>] Library:<nil> Label:<nil> Pin:<nil> Hash:<nil>]]]
2019-09-25 07:52:49.784 UTC [bccsp_sw] openKeyStore -> DEBU 01b KeyStore opened at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/keystore]...done
2019-09-25 07:52:49.784 UTC [bccsp] initBCCSP -> DEBU 01c Initialize BCCSP [SW]
2019-09-25 07:52:49.785 UTC [msp] getPemMaterialFromDir -> DEBU 01d Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/signcerts
2019-09-25 07:52:49.789 UTC [msp] getPemMaterialFromDir -> DEBU 01e Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/signcerts/Admin#org1.example.com-cert.pem
2019-09-25 07:52:49.791 UTC [msp] getPemMaterialFromDir -> DEBU 01f Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/cacerts
2019-09-25 07:52:49.794 UTC [msp] getPemMaterialFromDir -> DEBU 020 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem
2019-09-25 07:52:49.796 UTC [msp] getPemMaterialFromDir -> DEBU 021 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/admincerts
2019-09-25 07:52:49.799 UTC [msp] getPemMaterialFromDir -> DEBU 022 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/admincerts/Admin#org1.example.com-cert.pem
2019-09-25 07:52:49.802 UTC [msp] getPemMaterialFromDir -> DEBU 023 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/intermediatecerts
2019-09-25 07:52:49.803 UTC [msp] getMspConfig -> DEBU 024 Intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/intermediatecerts]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/intermediatecerts: no such file or directory]
2019-09-25 07:52:49.803 UTC [msp] getPemMaterialFromDir -> DEBU 025 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/tlscacerts
2019-09-25 07:52:49.809 UTC [msp] getPemMaterialFromDir -> DEBU 026 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem
2019-09-25 07:52:49.812 UTC [msp] getPemMaterialFromDir -> DEBU 027 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/tlsintermediatecerts
2019-09-25 07:52:49.813 UTC [msp] getMspConfig -> DEBU 028 TLS intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/tlsintermediatecerts]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/tlsintermediatecerts: no such file or directory]
2019-09-25 07:52:49.813 UTC [msp] getPemMaterialFromDir -> DEBU 029 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/crls
2019-09-25 07:52:49.814 UTC [msp] getMspConfig -> DEBU 02a crls folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/crls]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/crls: no such file or directory]
2019-09-25 07:52:49.815 UTC [msp] getMspConfig -> DEBU 02b MSP configuration file not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/config.yaml]: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/config.yaml: no such file or directory]
2019-09-25 07:52:49.815 UTC [msp] newBccspMsp -> DEBU 02c Creating BCCSP-based MSP instance
2019-09-25 07:52:49.816 UTC [msp] New -> DEBU 02d Creating Cache-MSP instance
2019-09-25 07:52:49.816 UTC [msp] loadLocaMSP -> DEBU 02e Created new local MSP
2019-09-25 07:52:49.817 UTC [msp] Setup -> DEBU 02f Setting up MSP instance Org1MSP
2019-09-25 07:52:49.818 UTC [msp.identity] newIdentity -> DEBU 030 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICUTCCAfigAwIBAgIRAIgvGNoUyGNio861P9+N2fIwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI1MDc0NTAwWhcNMjkwOTIyMDc0NTAw
WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE
AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA
BMbc8QZsiTgPGEavJ86VZeBdvZtCt5uCPkN2hEO65GoAUqcqbMyy2kPpt82Q0KLZ
Fbpui43/n1ecIt4TJKltCKGjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU
BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg
KUB53SQd2+AdA+1IkZJCmscVr2ViWZjodTLJ4zgIyNEwCgYIKoZIzj0EAwIDRwAw
RAIgOcNzb0RrvQbSabWUlX+je+T3AQcrPCkhuS9E+TXvKmcCIAmaXwj7JNrbHAul
2dRMzt9MNsLG3nE4ZQ/9M6qKXPhn
-----END CERTIFICATE-----
2019-09-25 07:52:49.818 UTC [msp.identity] newIdentity -> DEBU 031 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIQFTZxLYroT4q91Y31rMzKWTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjUwNzQ1MDBaFw0yOTA5MjIwNzQ1MDBa
MGwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ8wDQYDVQQLEwZjbGllbnQxHzAdBgNVBAMMFkFkbWluQG9y
ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATzMjrMjRzr
XLhhmBc1t1VdfJczUv9rHRS+vj/wZUAdFwOTCjW8BhZrQJv5jo37KyknwmtD7lTW
eiNuSeRKaBLJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCApQHndJB3b4B0D7UiRkkKaxxWvZWJZmOh1MsnjOAjI0TAKBggqhkjO
PQQDAgNIADBFAiEAqovrRPbpdKafMKtz6wKFV2rz1OUEIvjQ6kuye9+e82UCIF+n
CIyG2dBmuGTU16tICbU9CvYGwM5sNHMk78aXurHE
-----END CERTIFICATE-----
2019-09-25 07:52:49.821 UTC [bccsp_sw] loadPrivateKey -> DEBU 032 Loading private key [111c761634ff23746d82f6660b3051ddc4635c24b0a3b1cdce55a4a389322fa3] at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin#org1.example.com/msp/keystore/111c761634ff23746d82f6660b3051ddc4635c24b0a3b1cdce55a4a389322fa3_sk]...
2019-09-25 07:52:49.824 UTC [msp.identity] newIdentity -> DEBU 033 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIQFTZxLYroT4q91Y31rMzKWTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjUwNzQ1MDBaFw0yOTA5MjIwNzQ1MDBa
MGwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ8wDQYDVQQLEwZjbGllbnQxHzAdBgNVBAMMFkFkbWluQG9y
ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATzMjrMjRzr
XLhhmBc1t1VdfJczUv9rHRS+vj/wZUAdFwOTCjW8BhZrQJv5jo37KyknwmtD7lTW
eiNuSeRKaBLJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCApQHndJB3b4B0D7UiRkkKaxxWvZWJZmOh1MsnjOAjI0TAKBggqhkjO
PQQDAgNIADBFAiEAqovrRPbpdKafMKtz6wKFV2rz1OUEIvjQ6kuye9+e82UCIF+n
CIyG2dBmuGTU16tICbU9CvYGwM5sNHMk78aXurHE
-----END CERTIFICATE-----
2019-09-25 07:52:49.824 UTC [msp] setupSigningIdentity -> DEBU 034 Signing identity expires at 2029-09-22 07:45:00 +0000 UTC
2019-09-25 07:52:49.825 UTC [msp.identity] newIdentity -> DEBU 035 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIQFTZxLYroT4q91Y31rMzKWTAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA5MjUwNzQ1MDBaFw0yOTA5MjIwNzQ1MDBa
MGwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMQ8wDQYDVQQLEwZjbGllbnQxHzAdBgNVBAMMFkFkbWluQG9y
ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATzMjrMjRzr
XLhhmBc1t1VdfJczUv9rHRS+vj/wZUAdFwOTCjW8BhZrQJv5jo37KyknwmtD7lTW
eiNuSeRKaBLJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCApQHndJB3b4B0D7UiRkkKaxxWvZWJZmOh1MsnjOAjI0TAKBggqhkjO
PQQDAgNIADBFAiEAqovrRPbpdKafMKtz6wKFV2rz1OUEIvjQ6kuye9+e82UCIF+n
CIyG2dBmuGTU16tICbU9CvYGwM5sNHMk78aXurHE
-----END CERTIFICATE-----
2019-09-25 07:52:49.825 UTC [msp] Validate -> DEBU 036 MSP Org1MSP validating identity
2019-09-25 07:52:49.829 UTC [grpc] DialContext -> DEBU 037 parsed scheme: ""
2019-09-25 07:52:49.829 UTC [grpc] DialContext -> DEBU 038 scheme "" not registered, fallback to default scheme
2019-09-25 07:52:49.830 UTC [grpc] watcher -> DEBU 039 ccResolverWrapper: sending new addresses to cc: [{peer0.org1.example.com:7051 0 <nil>}]
2019-09-25 07:52:49.831 UTC [grpc] switchBalancer -> DEBU 03a ClientConn switching balancer to "pick_first"
2019-09-25 07:52:49.831 UTC [grpc] HandleSubConnStateChange -> DEBU 03b pickfirstBalancer: HandleSubConnStateChange: 0xc000257fd0, CONNECTING
2019-09-25 07:52:49.836 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc000257fd0, READY
2019-09-25 07:52:49.839 UTC [grpc] DialContext -> DEBU 03d parsed scheme: ""
2019-09-25 07:52:49.840 UTC [grpc] DialContext -> DEBU 03e scheme "" not registered, fallback to default scheme
2019-09-25 07:52:49.840 UTC [grpc] watcher -> DEBU 03f ccResolverWrapper: sending new addresses to cc: [{peer0.org1.example.com:7051 0 <nil>}]
2019-09-25 07:52:49.841 UTC [grpc] switchBalancer -> DEBU 040 ClientConn switching balancer to "pick_first"
2019-09-25 07:52:49.841 UTC [grpc] HandleSubConnStateChange -> DEBU 041 pickfirstBalancer: HandleSubConnStateChange: 0xc000546370, CONNECTING
2019-09-25 07:52:49.846 UTC [grpc] HandleSubConnStateChange -> DEBU 042 pickfirstBalancer: HandleSubConnStateChange: 0xc000546370, READY
2019-09-25 07:52:49.852 UTC [grpc] DialContext -> DEBU 043 parsed scheme: ""
2019-09-25 07:52:49.853 UTC [grpc] DialContext -> DEBU 044 scheme "" not registered, fallback to default scheme
2019-09-25 07:52:49.853 UTC [grpc] watcher -> DEBU 045 ccResolverWrapper: sending new addresses to cc: [{peer0.org2.example.com:9051 0 <nil>}]
2019-09-25 07:52:49.854 UTC [grpc] switchBalancer -> DEBU 046 ClientConn switching balancer to "pick_first"
2019-09-25 07:52:49.854 UTC [grpc] HandleSubConnStateChange -> DEBU 047 pickfirstBalancer: HandleSubConnStateChange: 0xc00052e610, CONNECTING
2019-09-25 07:52:49.859 UTC [grpc] HandleSubConnStateChange -> DEBU 048 pickfirstBalancer: HandleSubConnStateChange: 0xc00052e610, READY
2019-09-25 07:52:49.863 UTC [grpc] DialContext -> DEBU 049 parsed scheme: ""
2019-09-25 07:52:49.864 UTC [grpc] DialContext -> DEBU 04a scheme "" not registered, fallback to default scheme
2019-09-25 07:52:49.865 UTC [grpc] watcher -> DEBU 04b ccResolverWrapper: sending new addresses to cc: [{peer0.org2.example.com:9051 0 <nil>}]
2019-09-25 07:52:49.866 UTC [grpc] switchBalancer -> DEBU 04c ClientConn switching balancer to "pick_first"
2019-09-25 07:52:49.866 UTC [grpc] HandleSubConnStateChange -> DEBU 04d pickfirstBalancer: HandleSubConnStateChange: 0xc0004b28b0, CONNECTING
2019-09-25 07:52:49.871 UTC [grpc] HandleSubConnStateChange -> DEBU 04e pickfirstBalancer: HandleSubConnStateChange: 0xc0004b28b0, READY
2019-09-25 07:52:49.876 UTC [msp] GetDefaultSigningIdentity -> DEBU 04f Obtaining default signing identity
2019-09-25 07:52:49.880 UTC [grpc] DialContext -> DEBU 050 parsed scheme: ""
2019-09-25 07:52:49.881 UTC [grpc] DialContext -> DEBU 051 scheme "" not registered, fallback to default scheme
2019-09-25 07:52:49.881 UTC [grpc] watcher -> DEBU 052 ccResolverWrapper: sending new addresses to cc: [{orderer.example.com:7050 0 <nil>}]
2019-09-25 07:52:49.881 UTC [grpc] switchBalancer -> DEBU 053 ClientConn switching balancer to "pick_first"
2019-09-25 07:52:49.882 UTC [grpc] HandleSubConnStateChange -> DEBU 054 pickfirstBalancer: HandleSubConnStateChange: 0xc0002c3b30, CONNECTING
2019-09-25 07:52:49.886 UTC [grpc] HandleSubConnStateChange -> DEBU 055 pickfirstBalancer: HandleSubConnStateChange: 0xc0002c3b30, READY
2019-09-25 07:52:49.886 UTC [msp.identity] Sign -> DEBU 056 Sign: plaintext: 0AC1070A6908031A0C08D1B9ACEC0510...61721A0C0A0A696E69744C6564676572
2019-09-25 07:52:49.887 UTC [msp.identity] Sign -> DEBU 057 Sign: digest: 22D01CC4ABD5A39F16F3F242B3DE847755511AFECC4E265B85821F55C18E712C
2019-09-25 07:53:39.973 UTC [msp.identity] Sign -> DEBU 058 Sign: plaintext: 0AC1070A6908031A0C08D1B9ACEC0510...0008C46BAF292692653F6DCF19E193FB
2019-09-25 07:53:39.974 UTC [msp.identity] Sign -> DEBU 059 Sign: digest: EA323510ACB8506AB87F57B974A6C286CA43EEF3BEE0347A8BA3EAC220C6199A
2019-09-25 07:53:39.975 UTC [msp] GetDefaultSigningIdentity -> DEBU 05a Obtaining default signing identity
2019-09-25 07:53:39.975 UTC [msp] GetDefaultSigningIdentity -> DEBU 05b Obtaining default signing identity
2019-09-25 07:53:39.976 UTC [msp.identity] Sign -> DEBU 05c Sign: plaintext: 0AED060A1508051A060883BAACEC0522...00120D1A0B08FFFFFFFFFFFFFFFFFF01
2019-09-25 07:53:39.977 UTC [msp.identity] Sign -> DEBU 05e Sign: digest: 1AAE1FB1BACA69A6D01C7038432D1DCE7834B25531DC21BED65ECFCC7C80CD51
2019-09-25 07:53:39.976 UTC [msp] GetDefaultSigningIdentity -> DEBU 05d Obtaining default signing identity
2019-09-25 07:53:39.978 UTC [msp] GetDefaultSigningIdentity -> DEBU 05f Obtaining default signing identity
2019-09-25 07:53:39.985 UTC [msp.identity] Sign -> DEBU 060 Sign: plaintext: 0AED060A1508051A060883BAACEC0522...00120D1A0B08FFFFFFFFFFFFFFFFFF01
2019-09-25 07:53:39.988 UTC [msp.identity] Sign -> DEBU 061 Sign: digest: 66037BD6618A22F43AFD131CE9FF21439E948FC7EC6A5FA7F4687088947455B6
2019-09-25 07:53:43.156 UTC [chaincodeCmd] ClientWait -> INFO 062 txid [ddc2bbf69ade8c61e71ae603cd05f92a1ccf25725296c095abb7b98b60e80b5c] committed with status (VALID) at peer0.org2.example.com:9051
2019-09-25 07:53:43.166 UTC [chaincodeCmd] ClientWait -> INFO 063 txid [ddc2bbf69ade8c61e71ae603cd05f92a1ccf25725296c095abb7b98b60e80b5c] committed with status (VALID) at peer0.org1.example.com:7051
2019-09-25 07:53:43.167 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> DEBU 064 ESCC invoke result: version:1 response:<status:200 > payload:"\n \245\330\026\014\363\341\304\217]\243)\244\352\314g\276\347\264\276\204\035\234\240\250\373\035\261v>\201,j\022\315\007\n\266\007\022\233\007\n\006fabcar\022\220\007\032Y\n\004CAR0\032Q{\"color\":\"blue\",\"make\":\"Toyota\",\"model\":\"Prius\",\"owner\":\"Tomoko\",\"docType\":\"car\"}\032V\n\004CAR1\032N{\"color\":\"red\",\"make\":\"Ford\",\"model\":\"Mustang\",\"owner\":\"Brad\",\"docType\":\"car\"}\032]\n\004CAR2\032U{\"color\":\"green\",\"make\":\"Hyundai\",\"model\":\"Tucson\",\"owner\":\"Jin Soo\",\"docType\":\"car\"}\032]\n\004CAR3\032U{\"color\":\"yellow\",\"make\":\"Volkswagen\",\"model\":\"Passat\",\"owner\":\"Max\",\"docType\":\"car\"}\032V\n\004CAR4\032N{\"color\":\"black\",\"make\":\"Tesla\",\"model\":\"S\",\"owner\":\"Adriana\",\"docType\":\"car\"}\032Z\n\004CAR5\032R{\"color\":\"purple\",\"make\":\"Peugeot\",\"model\":\"205\",\"owner\":\"Michel\",\"docType\":\"car\"}\032W\n\004CAR6\032O{\"color\":\"white\",\"make\":\"Chery\",\"model\":\"S22L\",\"owner\":\"Aarav\",\"docType\":\"car\"}\032W\n\004CAR7\032O{\"color\":\"violet\",\"make\":\"Fiat\",\"model\":\"Punto\",\"owner\":\"Pari\",\"docType\":\"car\"}\032Y\n\004CAR8\032Q{\"color\":\"indigo\",\"make\":\"Tata\",\"model\":\"Nano\",\"owner\":\"Valeria\",\"docType\":\"car\"}\032\\\n\004CAR9\032T{\"color\":\"brown\",\"make\":\"Holden\",\"model\":\"Barina\",\"owner\":\"Shotaro\",\"docType\":\"car\"}\022\026\n\004lscc\022\016\n\014\n\006fabcar\022\002\010\003\032\003\010\310\001\"\r\022\006fabcar\032\0031.0" endorsement:<endorser:"\n\007Org1MSP\022\252\006-----BEGIN CERTIFICATE-----\nMIICKDCCAc+gAwIBAgIRANTtcp5k9fD+hDeifsghlocwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwOTI1MDc0NTAwWhcNMjkwOTIyMDc0NTAw\nWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjAub3Jn\nMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDKtnHm0J5fW\noARTO4KvTFSb8OOw1cgFkydtEvKa7VZz+990qlokTcdUsgPtaQ6sd5JUBroRvmim\no+xqsskOgzCjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud\nIwQkMCKAIClAed0kHdvgHQPtSJGSQprHFa9lYlmY6HUyyeM4CMjRMAoGCCqGSM49\nBAMCA0cAMEQCIHTF4YyoPFI5aGNf425wGma0svu2L8+C6vBG4P7Ov8LtAiA1DDGP\nKlX4tNyER/D+W2z5efiZdasjghsewzgEqYyyTQ==\n-----END CERTIFICATE-----\n" signature:"0E\002!\000\254\\\321KW]=\267-\t\336\226U\334\344Z\324\203\005)\251:!h\226\332#\277]&t\204\002 \036\235\227\366z\221\230\033i\030'r\252\\,\350\005\240>w\315\252\363\376#\214\225\263\341,\362\355" >
2019-09-25 07:53:43.167 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 065 Chaincode invoke successful. result: status:200
+ set +x
Total setup execution time : 207 secs ...
I meet the
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg error starting container: error starting container: API error (400): OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/root/chaincode-java/start\": stat /root/chaincode-java/start: no such file or directory": unknown
And I find that is because I didn't completely cleaned up the environment.
Related
Help me please!
I try to create app channel with the next command:
./bin/peer channel create -o localhost:7050 -c mychannel -f ./channel-artifacts/mychannel.tx --outputBlock ./channel-artifacts/mychannel.block --tls --cafile "$CORE_PEER_TLS_ROOTCERT_FILE"
But I always receive this error:
2022-09-01 14:08:46.482 MSK 0001 INFO [channelCmd] InitCmdFactory -> Endorser and orderer connections initialized
Error: got unexpected status: BAD_REQUEST -- error applying config update to existing channel 'mychannel': error authorizing update: error validating ReadSet: existing config does not contain element for [Value] /Channel/Consortium but was in the read set
I receive these logs in orderer container terminal in debug mode:
orderer-test.ru | 2022-09-01 11:49:05.803 UTC 0453 WARN [orderer.common.broadcast] ProcessMessage -> [channel: mychannel] Rejecting broadcast of config message from 192.168.32.1:39190 because of error: error applying config update to existing channel 'mychannel': error authorizing update: error validating ReadSet: existing config does not contain element for [Value] /Channel/Consortium but was in the read set
orderer-test.ru | 2022-09-01 11:49:05.803 UTC 0454 DEBU [orderer.common.server] func1 -> Closing Broadcast stream
orderer-test.ru | 2022-09-01 11:49:05.803 UTC 0455 INFO [comm.grpc.server] 1 -> streaming call completed grpc.service=orderer.AtomicBroadcast grpc.method=Broadcast grpc.peer_address=192.168.32.1:39190 grpc.code=OK grpc.call_duration=1.267632ms
orderer-test.ru | 2022-09-01 11:49:05.807 UTC 0456 WARN [common.deliver] Handle -> Error reading from 192.168.32.1:39186: rpc error: code = Canceled desc = context canceled
orderer-test.ru | 2022-09-01 11:49:05.807 UTC 0457 DEBU [orderer.common.server] func1 -> Closing Deliver stream
orderer-test.ru | 2022-09-01 11:49:05.807 UTC 0458 INFO [comm.grpc.server] 1 -> streaming call completed grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc.peer_address=192.168.32.1:39186 error="rpc error: code = Canceled desc = context canceled" grpc.code=Canceled grpc.call_duration=11.688059ms
orderer-test.ru | 2022-09-01 11:49:05.807 UTC [grpc] InfoDepth -> DEBU 003 [transport]transport: loopyWriter.run returning. connection error: desc = "transport is closing"
orderer-test.ru | 2022-09-01 11:49:05.807 UTC [grpc] InfoDepth -> DEBU 004 [transport]transport: loopyWriter.run returning. connection error: desc = "transport is closing"
When i am running the code peer channel fetch config config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -c mychannel
I am getting this
2021-07-26 12:42:59.856 UTC [cli.common] readBlock -> INFO 002 Expect
block, but got status: &{SERVICE_UNAVAILABLE}
I have started getting this error after I have added more orderers. I am using Raft for orderering service. And fabric-ca for generating certificates
configtx.yaml:
Orderer: &OrdererDefaults # Orderer Type: The orderer implementation to start
OrdererType: etcdraft
# Addresses used to be the list of orderer addresses that clients and peers
# could connect to. However, this does not allow clients to associate orderer
# addresses and orderer organizations which can be useful for things such
# as TLS validation. The preferred way to specify orderer addresses is now
# to include the OrdererEndpoints item in your org definition
Addresses:
- orderer.example.com:7050
- orderer2.example.com:8050
- orderer3.example.com:9050
EtcdRaft:
Consenters:
- Host: orderer.example.com
Port: 7050
ClientTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
ServerTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
- Host: orderer2.example.com
Port: 8050
ClientTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
ServerTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt
- Host: orderer3.example.com
Port: 9050
ClientTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
ServerTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt
# Options to be specified for all the etcd/raft nodes. The values here
# are the defaults for all new channels and can be modified on a
# per-channel basis via configuration updates.
Options:
# TickInterval is the time interval between two Node.Tick invocations.
TickInterval: 500ms
# ElectionTick is the number of Node.Tick invocations that must pass
# between elections. That is, if a follower does not receive any
# message from the leader of current term before ElectionTick has
# elapsed, it will become candidate and start an election.
# ElectionTick must be greater than HeartbeatTick.
ElectionTick: 10
# HeartbeatTick is the number of Node.Tick invocations that must
# pass between heartbeats. That is, a leader sends heartbeat
# messages to maintain its leadership every HeartbeatTick ticks.
HeartbeatTick: 1
# MaxInflightBlocks limits the max number of in-flight append messages
# during optimistic replication phase.
MaxInflightBlocks: 5
# SnapshotIntervalSize defines number of bytes per which a snapshot is taken
SnapshotIntervalSize: 16 MB
# Batch Timeout: The amount of time to wait before creating a batch
BatchTimeout: 2s
# Batch Size: Controls the number of messages batched into a block
BatchSize:
# Max Message Count: The maximum number of messages to permit in a batch
MaxMessageCount: 10
# Absolute Max Bytes: The absolute maximum number of bytes allowed for
# the serialized messages in a batch.
AbsoluteMaxBytes: 99 MB
# Preferred Max Bytes: The preferred maximum number of bytes allowed for
# the serialized messages in a batch. A message larger than the preferred
# max bytes will result in a batch larger than preferred max bytes.
PreferredMaxBytes: 512 KB
# Organizations is the list of orgs which are defined as participants on
# the orderer side of the network
Organizations:
# Policies defines the set of policies at this level of the config tree
# For Orderer policies, their canonical path is
# /Channel/Orderer/<PolicyName>
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
# BlockValidation specifies what signatures must be included in the block
# from the orderer for the peer to validate it.
BlockValidation:
Type: ImplicitMeta
Rule: "ANY Writers"
docker-compose-file:
services:
orderer.example.com:
container_name: orderer.example.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
# - FABRIC_LOGGING_SPEC=INFO
- FABRIC_LOGGING_SPEC=DEBUG
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
- ORDERER_KAFKA_VERBOSE=true
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=none
- ORDERER_CHANNELPARTICIPATION_ENABLED=true
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ../system-genesis-block/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
- ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
- orderer.example.com:/var/hyperledger/production/orderer
ports:
- 7050:7050
- 7053:7053
networks:
- test
orderer2.example.com:
container_name: orderer2.example.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
# - FABRIC_LOGGING_SPEC=INFO
- FABRIC_LOGGING_SPEC=DEBUG
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=8050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
- ORDERER_KAFKA_VERBOSE=true
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=none
- ORDERER_CHANNELPARTICIPATION_ENABLED=true
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ../system-genesis-block/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- ../organizations/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp
- ../organizations/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/:/var/hyperledger/orderer/tls
- orderer2.example.com:/var/hyperledger/production/orderer
ports:
- 8050:8050
- 8053:7053
networks:
- test
orderer3.example.com:
container_name: orderer3.example.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
# - FABRIC_LOGGING_SPEC=INFO
- FABRIC_LOGGING_SPEC=DEBUG
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=9050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_KAFKA_TOPIC_REPLICATIONFACTOR=1
- ORDERER_KAFKA_VERBOSE=true
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=none
- ORDERER_CHANNELPARTICIPATION_ENABLED=true
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ../system-genesis-block/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- ../organizations/ordererOrganizations/example.com/orderers/orderer3.example.com/msp:/var/hyperledger/orderer/msp
- ../organizations/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/:/var/hyperledger/orderer/tls
- orderer3.example.com:/var/hyperledger/production/orderer
ports:
- 9050:9050
- 9053:7053
networks:
- test
docker container log of orderer.example.com:
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] Step -> INFO 7be 1 is starting a new election at term 1 channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 7bf 1 became pre-candidate at term 1 channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] poll -> INFO 7c0 1 received MsgPreVoteResp from 1 at term 1 channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7c1 1 [logterm: 1, index: 3] sent MsgPreVote request to 2 at term 1 channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7c2 1 [logterm: 1, index: 3] sent MsgPreVote request to 3 at term 1 channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.common.cluster] NewStream -> DEBU 7c3 Created new stream to orderer2.example.com:8050 with ID of 26 and buffer size of 10
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7c4 Sending msg of 28 bytes to 2 on channel mychannel took 98.44µs
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] send -> INFO 7c5 Successfully sent StepRequest to 2 after failed attempt(s) channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.common.cluster] NewStream -> DEBU 7c6 Created new stream to orderer3.example.com:9050 with ID of 26 and buffer size of 10
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7c7 Sending msg of 28 bytes to 3 on channel mychannel took 71.392µs
2021-07-26 21:36:40.751 UTC [orderer.consensus.etcdraft] send -> INFO 7c8 Successfully sent StepRequest to 3 after failed attempt(s) channel=mychannel node=1
2021-07-26 21:36:40.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7c9 Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer3(orderer3.example.com:9050) took 44.832µs
2021-07-26 21:36:40.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7ca Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer2(orderer2.example.com:8050) took 20.721µs
2021-07-26 21:36:48.403 UTC [core.comm] ServerHandshake -> DEBU 7cb Server TLS handshake completed in 2.630606ms server=Orderer remoteaddress=
2021-07-26 21:36:48.403 UTC [orderer.common.server] Deliver -> DEBU 7cc Starting new Deliver handler
2021-07-26 21:36:48.403 UTC [common.deliver] Handle -> DEBU 7cd Starting new deliver loop for
2021-07-26 21:36:48.404 UTC [common.deliver] Handle -> DEBU 7ce Attempting to read seek info message from
2021-07-26 21:36:48.404 UTC [common.deliver] deliverBlocks -> WARN 7cf [channel: mychannel] Rejecting deliver request for because of consenter error
2021-07-26 21:36:48.404 UTC [orderer.common.server] func1 -> DEBU 7d0 Closing Deliver stream
2021-07-26 21:36:48.404 UTC [comm.grpc.server] 1 -> INFO 7d1 streaming call completed grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc.peer_address= grpc.code=OK grpc.call_duration=675.251µs
2021-07-26 21:36:48.405 UTC [grpc] InfoDepth -> DEBU 7d2 [transport]transport: loopyWriter.run returning. connection error: desc = "transport is closing"
2021-07-26 21:36:48.750 UTC [orderer.consensus.etcdraft] Step -> INFO 7d3 1 is starting a new election at term 1 channel=mychannel node=1
2021-07-26 21:36:48.750 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 7d4 1 became pre-candidate at term 1 channel=mychannel node=1
2021-07-26 21:36:48.750 UTC [orderer.consensus.etcdraft] poll -> INFO 7d5 1 received MsgPreVoteResp from 1 at term 1 channel=mychannel node=1
2021-07-26 21:36:48.750 UTC [orderer.consensus.etcdraft] campaign -> INFO 7d6 1 [logterm: 1, index: 3] sent MsgPreVote request to 2 at term 1 channel=mychannel node=1
2021-07-26 21:36:48.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7d7 1 [logterm: 1, index: 3] sent MsgPreVote request to 3 at term 1 channel=mychannel node=1
2021-07-26 21:36:48.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7d8 Sending msg of 28 bytes to 2 on channel mychannel took 4.077µs
2021-07-26 21:36:48.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7d9 Sending msg of 28 bytes to 3 on channel mychannel took 3.599µs
2021-07-26 21:36:48.751 UTC [orderer.common.cluster] 1 -> DEBU 7da Stream 26 to orderer3(orderer3.example.com:9050) is aborted
2021-07-26 21:36:48.751 UTC [orderer.common.cluster] 1 -> DEBU 7db Stream 26 to orderer2(orderer2.example.com:8050) is aborted
2021-07-26 21:36:48.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7dc Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer3(orderer3.example.com:9050) took 61.407µs but failed due to EOF
2021-07-26 21:36:48.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7dd Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer2(orderer2.example.com:8050) took 66.918µs but failed due to EOF
2021-07-26 21:36:48.751 UTC [orderer.common.cluster.step] serviceStream -> DEBU 7df Stream 26 to (orderer2.example.com:8050) terminated with total lifetime of 7.999445309s
2021-07-26 21:36:48.751 UTC [orderer.common.cluster.step] serviceStream -> DEBU 7de Stream 26 to (orderer3.example.com:9050) terminated with total lifetime of 7.999522414s
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] Step -> INFO 7e0 1 is starting a new election at term 1 channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 7e1 1 became pre-candidate at term 1 channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] poll -> INFO 7e2 1 received MsgPreVoteResp from 1 at term 1 channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7e3 1 [logterm: 1, index: 3] sent MsgPreVote request to 3 at term 1 channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7e4 1 [logterm: 1, index: 3] sent MsgPreVote request to 2 at term 1 channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7e5 Sending msg of 28 bytes to 3 on channel mychannel took 25.709µs
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] logSendFailure -> ERRO 7e6 Failed to send StepRequest to 3, because: EOF channel=mychannel node=1
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7e7 Sending msg of 28 bytes to 2 on channel mychannel took 5.017µs
2021-07-26 21:36:56.751 UTC [orderer.consensus.etcdraft] logSendFailure -> ERRO 7e8 Failed to send StepRequest to 2, because: EOF channel=mychannel node=1
2021-07-26 21:37:04.750 UTC [orderer.consensus.etcdraft] Step -> INFO 7e9 1 is starting a new election at term 1 channel=mychannel node=1
2021-07-26 21:37:04.750 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 7ea 1 became pre-candidate at term 1 channel=mychannel node=1
2021-07-26 21:37:04.751 UTC [orderer.consensus.etcdraft] poll -> INFO 7eb 1 received MsgPreVoteResp from 1 at term 1 channel=mychannel node=1
2021-07-26 21:37:04.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7ec 1 [logterm: 1, index: 3] sent MsgPreVote request to 2 at term 1 channel=mychannel node=1
2021-07-26 21:37:04.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7ed 1 [logterm: 1, index: 3] sent MsgPreVote request to 3 at term 1 channel=mychannel node=1
2021-07-26 21:37:04.751 UTC [orderer.common.cluster] NewStream -> DEBU 7ee Created new stream to orderer2.example.com:8050 with ID of 27 and buffer size of 10
2021-07-26 21:37:04.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7ef Sending msg of 28 bytes to 2 on channel mychannel took 271.523µs
2021-07-26 21:37:04.751 UTC [orderer.consensus.etcdraft] send -> INFO 7f0 Successfully sent StepRequest to 2 after failed attempt(s) channel=mychannel node=1
2021-07-26 21:37:04.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7f1 Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer2(orderer2.example.com:8050) took 130.526µs
2021-07-26 21:37:04.752 UTC [orderer.common.cluster] NewStream -> DEBU 7f2 Created new stream to orderer3.example.com:9050 with ID of 27 and buffer size of 10
2021-07-26 21:37:04.752 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7f3 Sending msg of 28 bytes to 3 on channel mychannel took 627.237µs
2021-07-26 21:37:04.752 UTC [orderer.consensus.etcdraft] send -> INFO 7f4 Successfully sent StepRequest to 3 after failed attempt(s) channel=mychannel node=1
2021-07-26 21:37:04.752 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7f5 Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer3(orderer3.example.com:9050) took 98.032µs
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] Step -> INFO 7f6 1 is starting a new election at term 1 channel=mychannel node=1
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] becomePreCandidate -> INFO 7f7 1 became pre-candidate at term 1 channel=mychannel node=1
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] poll -> INFO 7f8 1 received MsgPreVoteResp from 1 at term 1 channel=mychannel node=1
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7f9 1 [logterm: 1, index: 3] sent MsgPreVote request to 2 at term 1 channel=mychannel node=1
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] campaign -> INFO 7fa 1 [logterm: 1, index: 3] sent MsgPreVote request to 3 at term 1 channel=mychannel node=1
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7fb Sending msg of 28 bytes to 2 on channel mychannel took 4.668µs
2021-07-26 21:37:12.751 UTC [orderer.consensus.etcdraft] consensusSent -> DEBU 7fc Sending msg of 28 bytes to 3 on channel mychannel took 2.001µs
2021-07-26 21:37:12.751 UTC [orderer.common.cluster] 1 -> DEBU 7fd Stream 27 to orderer3(orderer3.example.com:9050) is aborted
2021-07-26 21:37:12.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 7fe Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer3(orderer3.example.com:9050) took 102.584µs but failed due to EOF
2021-07-26 21:37:12.751 UTC [orderer.common.cluster.step] serviceStream -> DEBU 7ff Stream 27 to (orderer3.example.com:9050) terminated with total lifetime of 7.999196657s
2021-07-26 21:37:12.751 UTC [orderer.common.cluster] 1 -> DEBU 800 Stream 27 to orderer2(orderer2.example.com:8050) is aborted
2021-07-26 21:37:12.751 UTC [orderer.common.cluster.step] sendMessage -> DEBU 801 Send of ConsensusRequest for channel mychannel with payload of size 28 to orderer2(orderer2.example.com:8050) took 24.421µs but failed due to EOF
2021-07-26 21:37:12.751 UTC [orderer.common.cluster.step] serviceStream -> DEBU 802 Stream 27 to (orderer2.example.com:8050) terminated with total lifetime of 7.999721572s
Actual error on the terminal:
Setting anchor peer for org1...
Using organization 1
Fetching channel config for channel mychannel
Using organization 1
Fetching the most recent configuration block for the channel
+ peer channel fetch config config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -c mychannel
2021-07-26 21:26:40.010 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2021-07-26 21:26:40.012 UTC [cli.common] readBlock -> INFO 002 Expect block, but got status: &{SERVICE_UNAVAILABLE}
Error: can't read the block: &{SERVICE_UNAVAILABLE}
Decoding config block to JSON and isolating config to Org1MSPconfig.json
+ configtxlator proto_decode --input config_block.pb --type common.Block
+ jq '.data.data[0].payload.data.config'
configtxlator: error: open config_block.pb: no such file or directory, try --help
+ jq '.channel_group.groups.Application.groups.Org1MSP.values += {"AnchorPeers":{"mod_policy": "Admins","value":{"anchor_peers": [{"host": "peer0.org1.example.com","port": 7051}]},"version": "0"}}' Org1MSPconfig.json
Generating anchor peer update transaction for Org1 on channel mychannel
+ configtxlator proto_encode --input Org1MSPconfig.json --type common.Config
configtxlator: error: Error decoding: error decoding input: error unmarshaling intermediate JSON: EOF
+ configtxlator proto_encode --input Org1MSPmodified_config.json --type common.Config
configtxlator: error: Error decoding: error decoding input: error unmarshaling intermediate JSON: EOF
+ configtxlator compute_update --channel_id mychannel --original original_config.pb --updated modified_config.pb
configtxlator: error: Error computing update: error computing config update: no channel group included for original config
+ configtxlator proto_decode --input config_update.pb --type common.ConfigUpdate
+ jq .
++ cat config_update.json
+ echo '{"payload":{"header":{"channel_header":{"channel_id":"mychannel", "type":2}},"data":{"config_update":{' '"channel_id":' '"",' '"isolated_data":' '{},' '"read_set":' null, '"write_set":' null '}}}}'
+ configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope
2021-07-26 21:26:40.664 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: got unexpected status: BAD_REQUEST -- error applying config update to existing channel 'mychannel': error authorizing update: ConfigUpdate for channel '' but envelope for channel 'mychannel'
Anchor peer update failed
One of the speculation I have for the problem is that orderers are unable to talk to each other because as soon as I remove the additional 2 orderers from consenters(configtx.yaml) everything seems to work
If anyone can provide me any solution it would be a great help.
If you think the added orderer is not working,
you can check orderer's raft status here
http://[YOUR ORDERER IP]:8443/metrics
the port 8443 defined in orderer.yaml
Operations:
ListenAddress: [] < -- here
and Ctrl + F, search "consensus_etcdraft_is_leader"
The problem is the second and third orderer not join the channel yet.
The solution is join the second and third orderer to the channel with osnadmin command. Similar command you can found in createChannel.sh in the sample test-network. Here is the command for joining the orderer to the cahnnel
# join orderer 2
osnadmin channel join --channelID $CHANNEL_NAME --config-block ./channel-artifacts/${CHANNEL_NAME}.block -o localhost:8053 --ca-file "$ORDERER_CA" --client-cert "$ORDERER2_ADMIN_TLS_SIGN_CERT" --client-key "$ORDERER2_ADMIN_TLS_PRIVATE_KEY" >&log.txt
# join orderer 3
osnadmin channel join --channelID $CHANNEL_NAME --config-block ./channel-artifacts/${CHANNEL_NAME}.block -o localhost:9053 --ca-file "$ORDERER_CA" --client-cert "$ORDERER3_ADMIN_TLS_SIGN_CERT" --client-key "$ORDERER3_ADMIN_TLS_PRIVATE_KEY" >&log.txt
Full function in createChannel.sh will be :
createChannel() {
setGlobals 1
# Poll in case the raft leader is not set yet
local rc=1
local COUNTER=1
while [ $rc -ne 0 -a $COUNTER -lt $MAX_RETRY ] ; do
sleep $DELAY
set -x
infoln "Orderer join channel"
osnadmin channel join --channelID $CHANNEL_NAME --config-block ./channel-artifacts/${CHANNEL_NAME}.block -o localhost:7053 --ca-file "$ORDERER_CA" --client-cert "$ORDERER_ADMIN_TLS_SIGN_CERT" --client-key "$ORDERER_ADMIN_TLS_PRIVATE_KEY" >&log.txt
infoln "Orderer2 join channel"
osnadmin channel join --channelID $CHANNEL_NAME --config-block ./channel-artifacts/${CHANNEL_NAME}.block -o localhost:8053 --ca-file "$ORDERER_CA" --client-cert "$ORDERER2_ADMIN_TLS_SIGN_CERT" --client-key "$ORDERER2_ADMIN_TLS_PRIVATE_KEY" >&log.txt
infoln "Orderer3 join channel"
osnadmin channel join --channelID $CHANNEL_NAME --config-block ./channel-artifacts/${CHANNEL_NAME}.block -o localhost:9053 --ca-file "$ORDERER_CA" --client-cert "$ORDERER3_ADMIN_TLS_SIGN_CERT" --client-key "$ORDERER3_ADMIN_TLS_PRIVATE_KEY" >&log.txt
res=$?
{ set +x; } 2>/dev/null
let rc=$res
COUNTER=$(expr $COUNTER + 1)
done
cat log.txt
verifyResult $res "Channel creation failed"
}
Note : make sure you have added the Orderer2 and Orderer3 TLS certificate Variable in envVar.sh
I am quite sure that this answer doesn't directly apply to OPs question but it somewhat applies to the same warning, so i am putting this here. It might help someone.
Create application channel command (execute from peerOrg admin cli)
peer channel create \
-c mychannel \
-o orderer-org0:6050 \
++ -t 50s
-f "/pathtoartifacts/artifacts/mychannel.tx" \
--outputBlock "/pathtoartifacts/artifacts/mychannel.block" \
--tls \
--cafile "/pathtoorderer/msp/tlscacerts/ca.pem"
The command timed out, returning multiple times the warning bellow.
2021-07-26 12:42:59.856 UTC [cli.common] readBlock -> INFO 002 Expect block, but got status: &{SERVICE_UNAVAILABLE}
Solution
After add the -t timeout flag to a higher value, the channel block was successfully created and stored to the output artifacts path.
I am not sure of the reason, but i assume due to the kubernetes based hyperledger fabric deployment, the inter-containers (orderers, endorses, admin-cli) communication is a bit more slow, than when running everything in localhost.
Note: the warning still appear, but i now receive a block and the expected output artifact in the artifacts folder.
I'm running a Hyperledger Fabric 1.4.1 using etcd/raft and I'm running on this error on the orderers of the network whenever I send a transaction to the orderer.
We have observed this 12 times in a period of 9 days.
What might be the causes of it?
2019-08-07 17:06:07.241 UTC [orderer.consensus.etcdraft] 2 -> DEBU 7fc91 Proposed block [15] to raft consensus channel=pocccssinciensaled node=2
2019-08-07 17:06:07.242 UTC [orderer.consensus.etcdraft] run -> PANI 7fc92 Failed to persist etcd/raft data: input/output error channel=pocccssinciensaled node=2
panic: Failed to persist etcd/raft data: input/output error
goroutine 68 [running]:
github.com/hyperledger/fabric/vendor/go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc0000ede40, 0x0, 0x0, 0x0)
/opt/gopath/src/github.com/hyperledger/fabric/vendor/go.uber.org/zap/zapcore/entry.go:229 +0x515
github.com/hyperledger/fabric/vendor/go.uber.org/zap.(*SugaredLogger).log(0xc00000e258, 0x104, 0x1033fcb, 0x24, 0xc0002f9bc8, 0x1, 0x1, 0x0, 0x0, 0x0)
/opt/gopath/src/github.com/hyperledger/fabric/vendor/go.uber.org/zap/sugar.go:234 +0xf6
github.com/hyperledger/fabric/vendor/go.uber.org/zap.(*SugaredLogger).Panicf(0xc00000e258, 0x1033fcb, 0x24, 0xc0002f9bc8, 0x1, 0x1)
/opt/gopath/src/github.com/hyperledger/fabric/vendor/go.uber.org/zap/sugar.go:159 +0x79
github.com/hyperledger/fabric/common/flogging.(*FabricLogger).Panicf(0xc00000e260, 0x1033fcb, 0x24, 0xc0002f9bc8, 0x1, 0x1)
/opt/gopath/src/github.com/hyperledger/fabric/common/flogging/zap.go:74 +0x60
github.com/hyperledger/fabric/orderer/consensus/etcdraft.(*node).run(0xc000586500, 0x0)
/opt/gopath/src/github.com/hyperledger/fabric/orderer/consensus/etcdraft/node.go:118 +0x43c
created by github.com/hyperledger/fabric/orderer/consensus/etcdraft.(*node).start
/opt/gopath/src/github.com/hyperledger/fabric/orderer/consensus/etcdraft/node.go:80 +0x218
Problem:
I am new to the blockchain. I am creating an application using Hyperledger. After setup the network when I am going to create channel It leaves me this output on the terminal.
2019-03-13 17:06:58.625 UTC [viperutil] getKeysRecursively -> DEBU 001 Found map[string]interface{} value for peer.BCCSP
2019-03-13 17:06:58.625 UTC [viperutil] getKeysRecursively -> DEBU 002 Found map[string]interface{} value for peer.BCCSP.PKCS11
2019-03-13 17:06:58.626 UTC [viperutil] unmarshalJSON -> DEBU 003 Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.627 UTC [viperutil] getKeysRecursively -> DEBU 004 Found real value for peer.BCCSP.PKCS11.Pin setting to <nil> <nil>
2019-03-13 17:06:58.627 UTC [viperutil] unmarshalJSON -> DEBU 005 Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.628 UTC [viperutil] getKeysRecursively -> DEBU 006 Found real value for peer.BCCSP.PKCS11.Hash
setting to <nil> <nil>
2019-03-13 17:06:58.628 UTC [viperutil] unmarshalJSON -> DEBU 007 Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.629 UTC [viperutil] getKeysRecursively -> DEBU 008 Found real value for peer.BCCSP.PKCS11.Security setting to <nil> <nil>
2019-03-13 17:06:58.629 UTC [viperutil] getKeysRecursively -> DEBU 009 Found map[string]interface{} value for peer.BCCSP.PKCS11.FileKeyStore
2019-03-13 17:06:58.630 UTC [viperutil] unmarshalJSON -> DEBU 00a Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.630 UTC [viperutil] getKeysRecursively -> DEBU 00b Found real value for peer.BCCSP.PKCS11.FileKeyStore.KeyStore setting to <nil> <nil>
2019-03-13 17:06:58.631 UTC [viperutil] unmarshalJSON -> DEBU 00c Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.631 UTC [viperutil] getKeysRecursively -> DEBU 00d Found real value for peer.BCCSP.PKCS11.Library setting to <nil> <nil>
2019-03-13 17:06:58.632 UTC [viperutil] unmarshalJSON -> DEBU 00e Unmarshal JSON: value is not a string: <nil>
2019-03-13 17:06:58.632 UTC [viperutil] getKeysRecursively -> DEBU 00f Found real value for peer.BCCSP.PKCS11.Label setting to <nil> <nil>
2019-03-13 17:06:58.633 UTC [viperutil] unmarshalJSON -> DEBU 010 Unmarshal JSON: value cannot be unmarshalled: invalid character 'S' looking for beginning of value
2019-03-13 17:06:58.633 UTC [viperutil] getKeysRecursively -> DEBU 011 Found real value for peer.BCCSP.Default setting to string SW
2019-03-13 17:06:58.633 UTC [viperutil] getKeysRecursively -> DEBU 012 Found map[string]interface{} value for peer.BCCSP.SW
2019-03-13 17:06:58.633 UTC [viperutil] unmarshalJSON -> DEBU 013 Unmarshal JSON: value cannot be unmarshalled: invalid character 'S' looking for beginning of value
2019-03-13 17:06:58.633 UTC [viperutil] getKeysRecursively -> DEBU 014 Found real value for peer.BCCSP.SW.Hash setting to string SHA2
2019-03-13 17:06:58.634 UTC [viperutil] unmarshalJSON -> DEBU 015 Unmarshal JSON: value is not a string: 256
2019-03-13 17:06:58.634 UTC [viperutil] getKeysRecursively -> DEBU 016 Found real value for peer.BCCSP.SW.Security
setting to int 256
2019-03-13 17:06:58.634 UTC [viperutil] getKeysRecursively -> DEBU 017 Found map[string]interface{} value for peer.BCCSP.SW.FileKeyStore
2019-03-13 17:06:58.634 UTC [viperutil] unmarshalJSON -> DEBU 018 Unmarshal JSON: value cannot be unmarshalled: unexpected end of JSON input
2019-03-13 17:06:58.634 UTC [viperutil] getKeysRecursively -> DEBU 019 Found real value for peer.BCCSP.SW.FileKeyStore.KeyStore setting to string
2019-03-13 17:06:58.634 UTC [viperutil] EnhancedExactUnmarshalKey -> DEBU 01a map[peer.BCCSP:map[PKCS11:map[Label:<nil> Pin:<nil> Hash:<nil> Security:<nil> FileKeyStore:map[KeyStore:<nil>] Library:<nil>] Default:SW SW:map[Hash:SHA2 Security:256 FileKeyStore:map[KeyStore:]]]]
2019-03-13 17:06:58.637 UTC [bccsp_sw] openKeyStore -> DEBU 01b KeyStore opened at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/keystore]...done
2019-03-13 17:06:58.637 UTC [bccsp] initBCCSP -> DEBU 01c Initialize BCCSP [SW]
2019-03-13 17:06:58.638 UTC [msp] getPemMaterialFromDir -> DEBU 01d Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/signcerts
2019-03-13 17:06:58.641 UTC [msp] getPemMaterialFromDir -> DEBU 01e Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/signcerts/Admin#slpolice.trafficfine.com-cert.pem
2019-03-13 17:06:58.643 UTC [msp] getPemMaterialFromDir -> DEBU 01f Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/cacerts
2019-03-13 17:06:58.647 UTC [msp] getPemMaterialFromDir -> DEBU 020 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/cacerts/ca.slpolice.trafficfine.com-cert.pem
2019-03-13 17:06:58.649 UTC [msp] getPemMaterialFromDir -> DEBU 021 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/admincerts
2019-03-13 17:06:58.653 UTC [msp] getPemMaterialFromDir -> DEBU 022 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/admincerts/Admin#slpolice.trafficfine.com-cert.pem
2019-03-13 17:06:58.656 UTC [msp] getPemMaterialFromDir -> DEBU 023 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/intermediatecerts
2019-03-13 17:06:58.657 UTC [msp] getMspConfig -> DEBU 024 Intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/intermediatecerts]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/intermediatecerts: no such file or directory]
2019-03-13 17:06:58.657 UTC [msp] getPemMaterialFromDir -> DEBU 025 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/tlscacerts
2019-03-13 17:06:58.661 UTC [msp] getPemMaterialFromDir -> DEBU 026 Inspecting file /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/tlscacerts/tlsca.slpolice.trafficfine.com-cert.pem
2019-03-13 17:06:58.664 UTC [msp] getPemMaterialFromDir -> DEBU 027 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/tlsintermediatecerts
2019-03-13 17:06:58.665 UTC [msp] getMspConfig -> DEBU 028 TLS intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/tlsintermediatecerts]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/tlsintermediatecerts: no such file or directory]
2019-03-13 17:06:58.665 UTC [msp] getPemMaterialFromDir -> DEBU 029 Reading directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/crls
2019-03-13 17:06:58.666 UTC [msp] getMspConfig -> DEBU 02a crls folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/crls]. Skipping. [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/crls: no such file or directory]
2019-03-13 17:06:58.668 UTC [msp] getMspConfig -> DEBU 02b MSP configuration file not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/config.yaml]: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/config.yaml: no such file or directory]
2019-03-13 17:06:58.668 UTC [msp] newBccspMsp -> DEBU 02c Creating BCCSP-based MSP instance
2019-03-13 17:06:58.668 UTC [msp] New -> DEBU 02d Creating Cache-MSP instance
2019-03-13 17:06:58.670 UTC [msp] loadLocaMSP -> DEBU 02e Created new local MSP
2019-03-13 17:06:58.670 UTC [msp] Setup -> DEBU 02f Setting up MSP instance SLpoliceMSP
2019-03-13 17:06:58.671 UTC [msp.identity] newIdentity -> DEBU 030 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICczCCAhmgAwIBAgIQX3ZaC/1XvdO3ZVpX7Shu6zAKBggqhkjOPQQDAjCBgzEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xITAfBgNVBAoTGHNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTEkMCIG
A1UEAxMbY2Euc2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDMwNzA2MjQw
MFoXDTI5MDMwNDA2MjQwMFowgYMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp
Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGlj
ZS50cmFmZmljZmluZS5jb20xJDAiBgNVBAMTG2NhLnNscG9saWNlLnRyYWZmaWNm
aW5lLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHbvvoTt/yL3xLQ045Ta
0i16UooiErE7WbuYWLoliuHJcknRtM+FUfJ83cU+JCZ5I5sK6IpZzumjBf16nq5c
KaqjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB
BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgax6WyeKGFdOQCgdIgd57
yqWMNyg9qUdwj11oXdR6q8MwCgYIKoZIzj0EAwIDSAAwRQIhALvdp/fiH++7Lmvb
41EvZRHMB+IqfZPv0F7d7IyXOcz6AiBqbd5GdbZzG8ELJWXo/GKji+3ehsS/vyYL
OPx6slFoWA==
-----END CERTIFICATE-----
2019-03-13 17:06:58.671 UTC [msp.identity] newIdentity -> DEBU 031 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQJsApcoa4cJUrPits3jp+QzAKBggqhkjOPQQDAjCBgzEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xITAfBgNVBAoTGHNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTEkMCIG
A1UEAxMbY2Euc2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDMwNzA2MjQw
MFoXDTI5MDMwNDA2MjQwMFowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAsTBmNsaWVudDEn
MCUGA1UEAwweQWRtaW5Ac2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEn6t3WpbESUiAT32WFEl1ZmzSxfgGZO/zm9kdlCwS
V8d15HWUrqk6xYByoViKuxaEvgoCFqJdt8seWZJkbMhVqqNNMEswDgYDVR0PAQH/
BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgax6WyeKGFdOQCgdIgd57
yqWMNyg9qUdwj11oXdR6q8MwCgYIKoZIzj0EAwIDRwAwRAIgUzZ+Ao6wFqzTzcpK
CCrSJffiKIdm4MLAmwAQNd6QY0ICIHhprcZhka3PUfa+48+DJfHOh4AWPIrL0q9h
8tgF7Tmu
-----END CERTIFICATE-----
2019-03-13 17:06:58.687 UTC [msp.identity] newIdentity -> DEBU 032 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQJsApcoa4cJUrPits3jp+QzAKBggqhkjOPQQDAjCBgzEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xITAfBgNVBAoTGHNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTEkMCIG
A1UEAxMbY2Euc2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDMwNzA2MjQw
MFoXDTI5MDMwNDA2MjQwMFowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAsTBmNsaWVudDEn
MCUGA1UEAwweQWRtaW5Ac2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEn6t3WpbESUiAT32WFEl1ZmzSxfgGZO/zm9kdlCwS
V8d15HWUrqk6xYByoViKuxaEvgoCFqJdt8seWZJkbMhVqqNNMEswDgYDVR0PAQH/
BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgax6WyeKGFdOQCgdIgd57
yqWMNyg9qUdwj11oXdR6q8MwCgYIKoZIzj0EAwIDRwAwRAIgUzZ+Ao6wFqzTzcpK
CCrSJffiKIdm4MLAmwAQNd6QY0ICIHhprcZhka3PUfa+48+DJfHOh4AWPIrL0q9h
8tgF7Tmu
-----END CERTIFICATE-----
2019-03-13 17:06:58.690 UTC [bccsp_sw] loadPrivateKey -> DEBU 033 Loading private key [1456180abdcceb28bf0485480d2a2d51ab606b453fcdbbe9e0d2a932a8584bfd] at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/slpolice.trafficfine.com/users/Admin#slpolice.trafficfine.com/msp/keystore/1456180abdcceb28bf0485480d2a2d51ab606b453fcdbbe9e0d2a932a8584bfd_sk]...
2019-03-13 17:06:58.694 UTC [msp.identity] newIdentity -> DEBU 034 Creating identity instance for cert -----BEGIN CERTIFICATE-----
MIICQjCCAemgAwIBAgIQJsApcoa4cJUrPits3jp+QzAKBggqhkjOPQQDAjCBgzEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xITAfBgNVBAoTGHNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTEkMCIG
A1UEAxMbY2Euc2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDMwNzA2MjQw
MFoXDTI5MDMwNDA2MjQwMFowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAsTBmNsaWVudDEn
MCUGA1UEAwweQWRtaW5Ac2xwb2xpY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI
zj0CAQYIKoZIzj0DAQcDQgAEn6t3WpbESUiAT32WFEl1ZmzSxfgGZO/zm9kdlCwS
V8d15HWUrqk6xYByoViKuxaEvgoCFqJdt8seWZJkbMhVqqNNMEswDgYDVR0PAQH/
BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgax6WyeKGFdOQCgdIgd57
yqWMNyg9qUdwj11oXdR6q8MwCgYIKoZIzj0EAwIDRwAwRAIgUzZ+Ao6wFqzTzcpK
CCrSJffiKIdm4MLAmwAQNd6QY0ICIHhprcZhka3PUfa+48+DJfHOh4AWPIrL0q9h
8tgF7Tmu
-----END CERTIFICATE-----
2019-03-13 17:06:58.694 UTC [msp] setupSigningIdentity -> DEBU 035 Signing identity expires at 2029-03-04 06:24:00
+0000 UTC
2019-03-13 17:06:58.695 UTC [msp] Validate -> DEBU 036 MSP SLpoliceMSP validating identity
2019-03-13 17:06:58.695 UTC [msp] GetDefaultSigningIdentity -> DEBU 037 Obtaining default signing identity
2019-03-13 17:06:58.708 UTC [grpc] DialContext -> DEBU 038 parsed scheme: ""
2019-03-13 17:06:58.708 UTC [grpc] DialContext -> DEBU 039 scheme "" not registered, fallback to default scheme
2019-03-13 17:06:58.708 UTC [grpc] watcher -> DEBU 03a ccResolverWrapper: sending new addresses to cc: [{orderer.trafficfine.com:7050 0 <nil>}]
2019-03-13 17:06:58.708 UTC [grpc] switchBalancer -> DEBU 03b ClientConn switching balancer to "pick_first"
2019-03-13 17:06:58.709 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc0003edb10, CONNECTING
2019-03-13 17:06:58.719 UTC [grpc] HandleSubConnStateChange -> DEBU 03d pickfirstBalancer: HandleSubConnStateChange: 0xc0003edb10, READY
2019-03-13 17:06:58.719 UTC [channelCmd] InitCmdFactory -> INFO 03e Endorser and orderer connections initialized
2019-03-13 17:06:58.724 UTC [msp] GetDefaultSigningIdentity -> DEBU 03f Obtaining default signing identity
2019-03-13 17:06:58.724 UTC [msp] GetDefaultSigningIdentity -> DEBU 040 Obtaining default signing identity
2019-03-13 17:06:58.725 UTC [msp.identity] Sign -> DEBU 041 Sign: plaintext: 0ADB060A0B534C706F6C6963654D5350...696366696E65436F6E736F727469756D
2019-03-13 17:06:58.725 UTC [msp.identity] Sign -> DEBU 042 Sign: digest: 1641D1573EB4A7102008B103534E5D593955C26C8430255B4F029A9AE4B4AE6F
2019-03-13 17:06:58.725 UTC [msp] GetDefaultSigningIdentity -> DEBU 043 Obtaining default signing identity
2019-03-13 17:06:58.725 UTC [msp] GetDefaultSigningIdentity -> DEBU 044 Obtaining default signing identity
2019-03-13 17:06:58.725 UTC [msp.identity] Sign -> DEBU 045 Sign: plaintext: 0A94070A1708021A0608B2F1A4E40522...9CC9656F67BEE8870E72BA0FD7D975D4
2019-03-13 17:06:58.725 UTC [msp.identity] Sign -> DEBU 046 Sign: digest: 5539593EDC889AACFD13B9E45F85DACA12A7C77E084DA74CA73F681BF16E892D
2019-03-13 17:06:58.729 UTC [grpc] DialContext -> DEBU 047 parsed scheme: ""
2019-03-13 17:06:58.729 UTC [grpc] DialContext -> DEBU 048 scheme "" not registered, fallback to default scheme
2019-03-13 17:06:58.729 UTC [grpc] watcher -> DEBU 049 ccResolverWrapper: sending new addresses to cc: [{orderer.trafficfine.com:7050 0 <nil>}]
2019-03-13 17:06:58.729 UTC [grpc] switchBalancer -> DEBU 04a ClientConn switching balancer to "pick_first"
2019-03-13 17:06:58.729 UTC [grpc] HandleSubConnStateChange -> DEBU 04b pickfirstBalancer: HandleSubConnStateChange: 0xc00021f2e0, CONNECTING
2019-03-13 17:06:58.735 UTC [grpc] HandleSubConnStateChange -> DEBU 04c pickfirstBalancer: HandleSubConnStateChange: 0xc00021f2e0, READY
Error: 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
Here I am providing the logs of the orderer.
2019-03-13 16:50:39.871 UTC [localconfig] completeInitialization -> INFO 001 Kafka.Version unset, setting to 0.10.2.0
2019-03-13 16:50:40.220 UTC [orderer.common.server] prettyPrintStruct -> INFO 002 Orderer config values:
General.LedgerType = "file"
General.ListenAddress = "0.0.0.0"
General.ListenPort = 7050
General.TLS.Enabled = true
General.TLS.PrivateKey = "/var/hyperledger/orderer/tls/server.key"
General.TLS.Certificate = "/var/hyperledger/orderer/tls/server.crt"
General.TLS.RootCAs = [/var/hyperledger/orderer/tls/ca.crt]
General.TLS.ClientAuthRequired = false
General.TLS.ClientRootCAs = []
General.Cluster.RootCAs = [/etc/hyperledger/fabric/tls/ca.crt]
General.Cluster.ClientCertificate = ""
General.Cluster.ClientPrivateKey = ""
General.Cluster.DialTimeout = 5s
General.Cluster.RPCTimeout = 7s
General.Cluster.ReplicationBufferSize = 20971520
General.Cluster.ReplicationPullTimeout = 5s
General.Cluster.ReplicationRetryTimeout = 5s
General.Keepalive.ServerMinInterval = 1m0s
General.Keepalive.ServerInterval = 2h0m0s
General.Keepalive.ServerTimeout = 20s
General.GenesisMethod = "file"
General.GenesisProfile = "SampleInsecureSolo"
General.SystemChannel = "test-system-channel-name"
General.GenesisFile = "/var/hyperledger/orderer/orderer.genesis.block"
General.Profile.Enabled = false
General.Profile.Address = "0.0.0.0:6060"
General.LocalMSPDir = "/var/hyperledger/orderer/msp"
General.LocalMSPID = "OrdererMSP"
General.BCCSP.ProviderName = "SW"
General.BCCSP.SwOpts.SecLevel = 256
General.BCCSP.SwOpts.HashFamily = "SHA2"
General.BCCSP.SwOpts.Ephemeral = false
General.BCCSP.SwOpts.FileKeystore.KeyStorePath = "/var/hyperledger/orderer/msp/keystore"
General.BCCSP.SwOpts.DummyKeystore =
General.BCCSP.SwOpts.InmemKeystore =
General.BCCSP.PluginOpts =
General.Authentication.TimeWindow = 15m0s
FileLedger.Location = "/var/hyperledger/production/orderer"
FileLedger.Prefix = "hyperledger-fabric-ordererledger"
RAMLedger.HistorySize = 1000
Kafka.Retry.ShortInterval = 5s
Kafka.Retry.ShortTotal = 10m0s
Kafka.Retry.LongInterval = 5m0s
Kafka.Retry.LongTotal = 12h0m0s
Kafka.Retry.NetworkTimeouts.DialTimeout = 10s
Kafka.Retry.NetworkTimeouts.ReadTimeout = 10s
Kafka.Retry.NetworkTimeouts.WriteTimeout = 10s
Kafka.Retry.Metadata.RetryMax = 3
Kafka.Retry.Metadata.RetryBackoff = 250ms
Kafka.Retry.Producer.RetryMax = 3
Kafka.Retry.Producer.RetryBackoff = 100ms
Kafka.Retry.Consumer.RetryBackoff = 2s
Kafka.Verbose = false
Kafka.Version = 0.10.2.0
Kafka.TLS.Enabled = false
Kafka.TLS.PrivateKey = ""
Kafka.TLS.Certificate = ""
Kafka.TLS.RootCAs = []
Kafka.TLS.ClientAuthRequired = false
Kafka.TLS.ClientRootCAs = []
Kafka.SASLPlain.Enabled = false
Kafka.SASLPlain.User = ""
Kafka.SASLPlain.Password = ""
Kafka.Topic.ReplicationFactor = 3
Debug.BroadcastTraceDir = ""
Debug.DeliverTraceDir = ""
Consensus = map[WALDir:/var/hyperledger/production/orderer/etcdraft/wal SnapDir:/var/hyperledger/production/orderer/etcdraft/snapshot]
Operations.ListenAddress = "127.0.0.1:8443"
Operations.TLS.Enabled = false
Operations.TLS.PrivateKey = ""
Operations.TLS.Certificate = ""
Operations.TLS.RootCAs = []
Operations.TLS.ClientAuthRequired = false
Operations.TLS.ClientRootCAs = []
Metrics.Provider = "disabled"
Metrics.Statsd.Network = "udp"
Metrics.Statsd.Address = "127.0.0.1:8125"
Metrics.Statsd.WriteInterval = 30s
Metrics.Statsd.Prefix = ""
2019-03-13 16:50:41.899 UTC [orderer.common.server] initializeServerConfig -> INFO 003 Starting orderer with TLS enabled
2019-03-13 16:50:41.993 UTC [fsblkstorage] newBlockfileMgr -> INFO 004 Getting block information from block storage
2019-03-13 16:50:43.606 UTC [orderer.commmon.multichannel] Initialize -> INFO 005 Starting system channel 'byfn-sys-channel' with genesis block hash 354fad4b4ce9938dba9ab9d750cf08c34b3aa0057012a77a60a2fb94fa65c481 and orderer type solo
2019-03-13 16:50:43.607 UTC [orderer.common.server] Start -> INFO 006 Starting orderer:
Version: 1.4.0
Commit SHA: d700b43
Go version: go1.11.1
OS/Arch: linux/amd64
2019-03-13 16:50:43.607 UTC [orderer.common.server] Start -> INFO 007 Beginning to serve requests
2019-03-13 16:52:25.460 UTC [orderer.common.broadcast] ProcessMessage -> WARN 008 [channel: trafficfine] Rejecting broadcast of config message from 172.19.0.21:53566 because of error: 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
2019-03-13 16:52:25.460 UTC [comm.grpc.server] 1 -> INFO 009 streaming call completed {"grpc.start_time": "2019-03-13T16:52:25.421Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Broadcast", "grpc.peer_address": "172.19.0.21:53566", "grpc.code": "OK", "grpc.call_duration": "38.6993ms"}
2019-03-13 16:52:25.483 UTC [common.deliver] Handle -> WARN 00a Error reading from 172.19.0.21:53564: rpc error: code = Canceled desc = context canceled
2019-03-13 16:52:25.484 UTC [comm.grpc.server] 1 -> INFO 00b streaming call completed {"grpc.start_time": "2019-03-13T16:52:25.416Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Deliver", "grpc.peer_address": "172.19.0.21:53564", "error": "rpc error: code = Canceled desc = context canceled", "grpc.code": "Canceled", "grpc.call_duration": "68.1955ms"}
2019-03-13 17:06:58.765 UTC [orderer.common.broadcast] ProcessMessage -> WARN 00c [channel: trafficfine] Rejecting broadcast of config message from 172.19.0.21:53570 because of error: 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
2019-03-13 17:06:58.765 UTC [comm.grpc.server] 1 -> INFO 00d streaming call completed {"grpc.start_time": "2019-03-13T17:06:58.737Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Broadcast", "grpc.peer_address": "172.19.0.21:53570", "grpc.code": "OK", "grpc.call_duration": "28.1769ms"}
2019-03-13 17:06:58.780 UTC [common.deliver] Handle -> WARN 00e Error reading from 172.19.0.21:53568: rpc error: code = Canceled desc = context canceled
2019-03-13 17:06:58.780 UTC [comm.grpc.server] 1 -> INFO 00f streaming call completed {"grpc.start_time": "2019-03-13T17:06:58.721Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Deliver", "grpc.peer_address": "172.19.0.21:53568", "error": "rpc error: code = Canceled desc = context canceled", "grpc.code": "Canceled", "grpc.call_duration": "59.2509ms"}
Can someone help me to solve this problem? I have tried all the options given by similar questions but I am completely helpless with this error.
This error message brings the main issue regarding the policy in the configtx.yaml
policy for [Group] /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining
if you already defined the orderer policy like below change is accordinly and generate the crypto one more time and run the network.
Policies:
# Readers:
# Type: Signature
# Rule: "OR('OrdererMSP.member')"
# Writers:
# Type: Signature
# Rule: "OR('OrdererMSP.member')"
# Admins:
# Type: Signature
# Rule: "OR('OrdererMSP.admin')"
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
I configured manually a Hyperledger Fabric environment using the binary files (without using Docker or fabric samples scripts). I deployed successfully 1 orderer node and 2 peers node (one peer per org), but fails creating the channel.
I used crytogen for crypto material and cryptotxgen to create the genesis block and the channel transaction.
Orderer Logs:
2019-01-06 19:01:05.601 UTC [cauthdsl] func1 -> DEBU 176 0xc0001b8ea0 gate 1546801265601901160 evaluation starts
2019-01-06 19:01:05.601 UTC [cauthdsl] func2 -> DEBU 177 0xc0001b8ea0 signed by 0 principal evaluation starts (used [false])
2019-01-06 19:01:05.601 UTC [cauthdsl] func2 -> DEBU 178 0xc0001b8ea0 processing identity 0 with bytes of ebff60
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 179 0xc0001b8ea0 identity 0 does not satisfy principal: the identity is a member of a different MSP (expected OrdererMSP, got TheChainMSP)
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 17a 0xc0001b8ea0 principal evaluation fails
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 17b 0xc0001b8ea0 signed by 1 principal evaluation starts (used [false])
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 17c 0xc0001b8ea0 processing identity 0 with bytes of ebff60
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 17d 0xc0001b8ea0 identity 0 does not satisfy principal: the identity is a member of a different MSP (expected OrdererMSP, got TheChainMSP)
2019-01-06 19:01:05.602 UTC [cauthdsl] func2 -> DEBU 17e 0xc0001b8ea0 principal evaluation fails
2019-01-06 19:01:05.602 UTC [cauthdsl] func1 -> DEBU 17f 0xc0001b8ea0 gate 1546801265601901160 evaluation fails
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 180 Signature set did not satisfy policy /Channel/Orderer/OrdererTheChain/Writers
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 181 == Done Evaluating *cauthdsl.policy Policy /Channel/Orderer/OrdererTheChain/Writers
2019-01-06 19:01:05.602 UTC [policies] func1 -> DEBU 182 Evaluation Failed: Only 0 policies were satisfied, but needed 1 of [ OrdererTheChain.Writers ]
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 183 Signature set did not satisfy policy /Channel/Orderer/Writers
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 184 == Done Evaluating *policies.implicitMetaPolicy Policy /Channel/Orderer/Writers
2019-01-06 19:01:05.602 UTC [policies] func1 -> DEBU 185 Evaluation Failed: Only 0 policies were satisfied, but needed 1 of [ Consortiums.Writers Orderer.Writers ]
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 186 Signature set did not satisfy policy /Channel/Writers
2019-01-06 19:01:05.602 UTC [policies] Evaluate -> DEBU 187 == Done Evaluating *policies.implicitMetaPolicy Policy /Channel/Writers
2019-01-06 19:01:05.602 UTC [orderer.common.broadcast] ProcessMessage -> WARN 188 [channel: privatechannel] Rejecting broadcast of config message from 127.0.0.1:53992 because of error: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied
2019-01-06 19:01:05.602 UTC [orderer.common.server] func1 -> DEBU 189 Closing Broadcast stream
2019-01-06 19:01:05.602 UTC [comm.grpc.server] 1 -> INFO 18a streaming call completed {"grpc.start_time": "2019-01-06T19:01:05.599Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Broadcast", "grpc.peer_address": "127.0.0.1:53992", "grpc.code": "OK", "grpc.call_duration": "3.042122ms"}
2019-01-06 19:01:05.605 UTC [common.deliver] Handle -> WARN 18b Error reading from 127.0.0.1:53988: rpc error: code = Canceled desc = context canceled
2019-01-06 19:01:05.605 UTC [grpc] warningf -> DEBU 18c transport: http2Server.HandleStreams failed to read frame: read tcp 127.0.0.1:7050->127.0.0.1:53992: read: connection reset by peer
2019-01-06 19:01:05.605 UTC [orderer.common.server] func1 -> DEBU 18d Closing Deliver stream
2019-01-06 19:01:05.605 UTC [grpc] infof -> DEBU 18f transport: loopyWriter.run returning. connection error: desc = "transport is closing"
2019-01-06 19:01:05.605 UTC [comm.grpc.server] 1 -> INFO 18e streaming call completed {"grpc.start_time": "2019-01-06T19:01:05.599Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Deliver", "grpc.peer_address": "127.0.0.1:53988", "error": "rpc error: code = Canceled desc = context canceled", "grpc.code": "Canceled", "grpc.call_duration": "6.48536ms"}
2019-01-06 19:01:05.605 UTC [grpc] infof -> DEBU 190 transport: loopyWriter.run returning. connection error: desc = "transport is closing"
peer channel create Logs:
2019-01-06 19:21:13.795 UTC [msp] setupSigningIdentity -> DEBU 035 Signing identity expires at 2029-01-03 00:49:00 +0000 UTC
2019-01-06 19:21:13.795 UTC [msp] Validate -> DEBU 036 MSP TheChainMSP validating identity
2019-01-06 19:21:13.795 UTC [msp] GetDefaultSigningIdentity -> DEBU 037 Obtaining default signing identity
2019-01-06 19:21:13.795 UTC [grpc] DialContext -> DEBU 038 parsed scheme:""
2019-01-06 19:21:13.795 UTC [grpc] DialContext -> DEBU 039 scheme "" not registered, fallback to default scheme
2019-01-06 19:21:13.795 UTC [grpc] watcher -> DEBU 03a ccResolverWrapper: sending new addresses to cc: [{localhost:7050 0 <nil>}]
2019-01-06 19:21:13.795 UTC [grpc] switchBalancer -> DEBU 03b ClientConn switching balancer to "pick_first"
2019-01-06 19:21:13.796 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc00032a490, CONNECTING
2019-01-06 19:21:13.798 UTC [grpc] HandleSubConnStateChange -> DEBU 03d pickfirstBalancer: HandleSubConnStateChange: 0xc00032a490, READY
2019-01-06 19:21:13.798 UTC [channelCmd] InitCmdFactory -> INFO 03e Endorser and orderer connections initialized
2019-01-06 19:21:13.799 UTC [msp] GetDefaultSigningIdentity -> DEBU 03f Obtaining default signing identity
2019-01-06 19:21:13.800 UTC [msp] GetDefaultSigningIdentity -> DEBU 040 Obtaining default signing identity
2019-01-06 19:21:13.800 UTC [msp.identity] Sign -> DEBU 041 Sign: plaintext: 0A96060A0B546865436861696E4D5350...53616D706C65436F6E736F727469756D
2019-01-06 19:21:13.800 UTC [msp.identity] Sign -> DEBU 042 Sign: digest: EDB773D3B4483F960DA91D9CE5E21CA9F0512B808C9AE15B56B2CB1CE663B494
2019-01-06 19:21:13.800 UTC [msp] GetDefaultSigningIdentity -> DEBU 043 Obtaining default signing identity
2019-01-06 19:21:13.800 UTC [msp] GetDefaultSigningIdentity -> DEBU 044 Obtaining default signing identity
2019-01-06 19:21:13.800 UTC [msp.identity] Sign -> DEBU 045 Sign: plaintext: 0AD2060A1A08021A0608A9AAC9E10522...898F89F93F5DEF87555ED63A455E5CFF
2019-01-06 19:21:13.800 UTC [msp.identity] Sign -> DEBU 046 Sign: digest: BAA15E471F224FBF378D144154CF6B126823800A73EF3F9122CB30888C69645F
2019-01-06 19:21:13.800 UTC [grpc] DialContext -> DEBU 047 parsed scheme: ""
2019-01-06 19:21:13.800 UTC [grpc] DialContext -> DEBU 048 scheme "" not registered, fallback to default scheme
2019-01-06 19:21:13.800 UTC [grpc] watcher -> DEBU 049 ccResolverWrapper: sending new addresses to cc: [{localhost:7050 0 <nil>}]
2019-01-06 19:21:13.800 UTC [grpc] switchBalancer -> DEBU 04a ClientConn switching balancer to "pick_first"
2019-01-06 19:21:13.800 UTC [grpc] HandleSubConnStateChange -> DEBU 04b pickfirstBalancer: HandleSubConnStateChange: 0xc000242cc0, CONNECTING
2019-01-06 19:21:13.801 UTC [grpc] HandleSubConnStateChange -> DEBU 04c pickfirstBalancer: HandleSubConnStateChange: 0xc000242cc0, READY
Error: got unexpected status: FORBIDDEN -- Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied
Im not using TLS
My server is ubuntu 16.04, im using Hyperledger Fabric v1.4 release 2 (20 dec). I tried creating new crypto material and modify the configtx.yaml file, but no ones worked, i get the same error.
crypto-config.yaml:
OrdererOrgs:
- Name: Orderer
Domain: thechain.tech
Specs:
- Hostname: orderer
PeerOrgs:
- Name: AirMed Foundation
Domain: airmedfoundation.tech
Template:
Count: 2
Users:
Count: 3
- Name: The Chain
Domain: thechain.tech
Template:
Count: 2
Users:
Count: 3
configtxgen.yaml:
---
Capabilities:
# Channel capabilities apply to both the orderers and the peers and must be
# supported by both.
# Set the value of the capability to true to require it.
Channel: &ChannelCapabilities
# V1.3 for Channel is a catchall flag for behavior which has been
# determined to be desired for all orderers and peers running at the v1.3.x
# level, but which would be incompatible with orderers and peers from
# prior releases.
# Prior to enabling V1.3 channel capabilities, ensure that all
# orderers and peers on a channel are at v1.3.0 or later.
V1_3: true
# Orderer capabilities apply only to the orderers, and may be safely
# used with prior release peers.
# Set the value of the capability to true to require it.
Orderer: &OrdererCapabilities
# V1.1 for Orderer is a catchall flag for behavior which has been
# determined to be desired for all orderers running at the v1.1.x
# level, but which would be incompatible with orderers from prior releases.
# Prior to enabling V1.1 orderer capabilities, ensure that all
# orderers on a channel are at v1.1.0 or later.
V1_1: true
# Application capabilities apply only to the peer network, and may be safely
# used with prior release orderers.
# Set the value of the capability to true to require it.
Application: &ApplicationCapabilities
# V1.3 for Application enables the new non-backwards compatible
# features and fixes of fabric v1.3.
V1_3: true
# V1.2 for Application enables the new non-backwards compatible
# features and fixes of fabric v1.2 (note, this need not be set if
# later version capabilities are set)
V1_2: false
# V1.1 for Application enables the new non-backwards compatible
# features and fixes of fabric v1.1 (note, this need not be set if
# later version capabilities are set).
V1_1: false
Organizations:
- &OrdererOrg
Name: OrdererTheChain
ID: OrdererMSP
MSPDir: /home/medical/fabric/crypto-material/crypto-config/ordererOrganizations/thechain.tech/orderers/orderer.thechain.tech/msp
AdminPrincipal: Role.ADMIN
Policies:
Readers:
Type: Signature
Rule: "OR('OrdererMSP.admin', 'OrdererMSP.member')"
Writers:
Type: Signature
Rule: "OR('OrdererMSP.admin', 'OrdererMSP.member')"
Admins:
Type: Signature
Rule: "OR('OrdererMSP.admin')"
- &TheChainOrg
Name: TheChain
ID: TheChainMSP
AdminPrincipal: Role.ADMIN
AnchorPeers:
- Host: 127.0.0.1
Port: 7051
MSPDir: /home/medical/fabric/crypto-material/crypto-config/peerOrganizations/thechain.tech/users/Admin#thechain.tech/msp
Policies:
Readers:
Type: Signature
Rule: "OR('TheChainMSP.admin', 'TheChainMSP.peer', 'TheChainMSP.client')"
Writers:
Type: Signature
Rule: "OR('TheChainMSP.admin', 'TheChainMSP.client')"
Admins:
Type: Signature
Rule: "OR('TheChainMSP.admin')"
- &AirMedFoundationOrg
Name: AirMedFoundation
ID: AirMedFoundationMSP
AdminPrincipal: Role.ADMIN
AnchorPeers:
- Host: 127.0.0.1
Port: 17051
MSPDir: /home/medical/fabric/crypto-material/crypto-config/peerOrganizations/airmedfoundation.tech/users/Admin#airmedfoundation.tech/msp
Policies:
Readers:
Type: Signature
Rule: "OR('AirMedFoundationMSP.admin', 'AirMedFoundationMSP.peer', 'AirMedFoundationMSP.client')"
Writers:
Type: Signature
Rule: "OR('AirMedFoundationMSP.admin', 'AirMedFoundationMSP.client')"
Admins:
Type: Signature
Rule: "OR('AirMedFoundationMSP.admin')"
Orderer: &OrdererDefaults
# Orderer Type: The orderer implementation to start.
# Available types are "solo" and "kafka".
OrdererType: solo
Addresses:
- localhost:7050
# Batch Timeout: The amount of time to wait before creating a batch.
BatchTimeout: 2s
# Batch Size: Controls the number of messages batched into a block.
BatchSize:
# Max Message Count: The maximum number of messages to permit in a
# batch.
MaxMessageCount: 10
# Absolute Max Bytes: The absolute maximum number of bytes allowed for
# the serialized messages in a batch. If the "kafka" OrdererType is
# selected, set 'message.max.bytes' and 'replica.fetch.max.bytes' on the
# Kafka brokers to a value that is larger than this one.
AbsoluteMaxBytes: 98 MB
# Preferred Max Bytes: The preferred maximum number of bytes allowed for
# the serialized messages in a batch. A message larger than the
# preferred max bytes will result in a batch larger than preferred max
# bytes.
PreferredMaxBytes: 512 KB
# Max Channels is the maximum number of channels to allow on the ordering
# network. When set to 0, this implies no maximum number of channels.
MaxChannels: 0
Kafka:
# Brokers: A list of Kafka brokers to which the orderer connects. Edit
# this list to identify the brokers of the ordering service.
# NOTE: Use IP:port notation.
Brokers:
- kafka0:9092
- kafka1:9092
- kafka2:9092
- kafka3:9092
# Organizations is the list of orgs which are defined as participants on
# the orderer side of the network.
Organizations:
# Policies defines the set of policies at this level of the config tree
# For Orderer policies, their canonical path is
# /Channel/Orderer/<PolicyName>
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
# BlockValidation specifies what signatures must be included in the block
# from the orderer for the peer to validate it.
BlockValidation:
Type: ImplicitMeta
Rule: "ANY Writers"
# Capabilities describes the orderer level capabilities, see the
# dedicated Capabilities section elsewhere in this file for a full
# description
Capabilities:
<<: *OrdererCapabilities
Channel: &ChannelDefaults
# Policies defines the set of policies at this level of the config tree
# For Channel policies, their canonical path is
# /Channel/<PolicyName>
Policies:
# Who may invoke the 'Deliver' API
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
# Who may invoke the 'Broadcast' API
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
# By default, who may modify elements at this config level
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
# Capabilities describes the channel level capabilities, see the
# dedicated Capabilities section elsewhere in this file for a full
# description
Capabilities:
<<: *ChannelCapabilities
Application: &ApplicationDefaults
# Organizations is the list of orgs which are defined as participants on
# the application side of the network
Organizations:
# Policies defines the set of policies at this level of the config tree
# For Application policies, their canonical path is
# /Channel/Application/<PolicyName>
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"
Capabilities:
<<: *ApplicationCapabilities
Profiles:
TwoOrgsOrdererGenesis:
<<: *ChannelDefaults
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Capabilities:
<<: *OrdererCapabilities
Consortiums:
SampleConsortium:
Organizations:
- *TheChainOrg
- *AirMedFoundationOrg
TwoOrgsChannel:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *TheChainOrg
- *AirMedFoundationOrg
Capabilities:
<<: *ApplicationCapabilities
I found this question that have a similar problem
peer channel creation fails in Hyperledger Fabric, i tried his solution and nothing change. I think the problem is for policy problems and my peers are not sign the transaction with the correct credentials, but i dont know how to fix it.
Orderer logs:
2019-01-06 19:01:05.602 UTC [policies] func1 -> DEBU 185 Evaluation Failed: Only 0 policies were satisfied, but needed 1 of [ Consortiums.Writers Orderer.Writers ]
Peerlogs:
Error: got unexpected status: FORBIDDEN -- Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied
Its clearly stating that you are not authorize to create a channel
Why:
Hyperledger fabric is designed in a secure way
For every operation, you need a valid Authorization and Authentication
How:
Please add admin credentials of majority orgs while creating the channel
Tips:
If you use CLI then add admin private key and certificate while creating the channel.
Help: If you need more details feel free to comment here iam more than happy to help