Hyperledger Fabric&&composer-playground:Error 14: UNAVAILABLE:EOF - hyperledger

I was trying to deploy my network to BYFN network(based on the hyperledegr fabric's base files and changed : - CORE_CHAINCODE_EXECUTETIMEOUT=300s) in single computer as the following toturial:
https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-multi-org
and Connection.json file are as following:
"name": "byfn-network",
"x-type": "hlfv1",
"version": "1.0.0",
"client": {
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300",
"eventHub": "300",
"eventReg": "300"
},
"orderer": "300"
}
}
},
"channels": {
"mychannel": {
"orderers": [
"orderer.example.com"
],
"peers": {
"peer0.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer0.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com"
],
"certificateAuthorities": [
"ca.org1.example.com"
]
},
"Org2": {
"mspid": "Org2MSP",
"peers": [
"peer0.org2.example.com",
"peer1.org2.example.com"
],
"certificateAuthorities": [
"ca.org2.example.com"
]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICQjCCAemgAwIBAgIQfpE5aZ1m4lVwayWEUER57jAKBggqhkjOPQQDAjBsMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4\nYW1wbGUuY29tMB4XDTIyMDQxNTAyNTIwMFoXDTMyMDQxMjAyNTIwMFowbDELMAkG\nA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu\nY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt\ncGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABB0BjtJc4v3HswWS/oh4\nMaGSXI3MjW217C+zIVTkDGAD0j6l1RfLRw+cfh3TFebuiBX3oWxNX1xUYRdaUwYW\nRVWjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB\nBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg0now5QRvmIfTSp4zTe1P\nwToH7HK+OoJGFA1sbTN7iYYwCgYIKoZIzj0EAwIDRwAwRAIgOxUlaps8ej1yFBZ5\nwTB2Gchsa6a91uO0pBhM8DYJhaUCIBz0bTqLanH7D83ygaKjnItdNZAkgzY9rogv\nL7WZsXE4\n-----END CERTIFICATE-----\n"
}
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICVjCCAf2gAwIBAgIQO1D2dcn3DjdP/TRl+NFbszAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz\nY2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTUwMjUyMDBaFw0zMjA0MTIwMjUy\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD\nVQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAErVRbK4yDDMZoAq1mhLk9orgjCI54EnPfWUFrpK5bYNu8fNeo4MqH6ssV\nRrbmUwSmGLxNA7o/yo5SCcpNvjxE7qNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCCT5mNCE3D3X8nmbr1ChoejYMsggcliuY5divhAdKG7HTAKBggqhkjOPQQD\nAgNHADBEAiBYNw2BR3LZSJqbOi/2Hp7BAI99yQVq9T3tVT7UN9hXrwIgYSQyJ6CB\ngvwOjkvYavUJmtMJJWSLo92B+z1TDmoZiOM=\n-----END CERTIFICATE-----\n"
}
},
"peer1.org1.example.com": {
"url": "grpcs://localhost:8051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICVjCCAf2gAwIBAgIQO1D2dcn3DjdP/TRl+NFbszAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz\nY2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTUwMjUyMDBaFw0zMjA0MTIwMjUy\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD\nVQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAErVRbK4yDDMZoAq1mhLk9orgjCI54EnPfWUFrpK5bYNu8fNeo4MqH6ssV\nRrbmUwSmGLxNA7o/yo5SCcpNvjxE7qNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCCT5mNCE3D3X8nmbr1ChoejYMsggcliuY5divhAdKG7HTAKBggqhkjOPQQD\nAgNHADBEAiBYNw2BR3LZSJqbOi/2Hp7BAI99yQVq9T3tVT7UN9hXrwIgYSQyJ6CB\ngvwOjkvYavUJmtMJJWSLo92B+z1TDmoZiOM=\n-----END CERTIFICATE-----\n"
}
},
"peer0.org2.example.com": {
"url": "grpcs://localhost:9051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICWDCCAf6gAwIBAgIRAMww19crV8hH1adEpOEDfFUwCgYIKoZIzj0EAwIwdjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs\nc2NhLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE1MDI1MjAwWhcNMzIwNDEyMDI1\nMjAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0G\nA1UEAxMWdGxzY2Eub3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABFr/JSn1EszAScqPVHopPjQhefNhWGFogplMpBhAwF9VPk7BYBDecrYW\njfQ1g1PPnxQ/kp0SXOOVTeZDaFS6POKjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV\nHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV\nHQ4EIgQgYn1+kCmnIekTe3tJCH79yIzbZo9/yUTPXrFJ1sfbBfYwCgYIKoZIzj0E\nAwIDSAAwRQIhAKvqoHVNlFY4txK3scbbJw1GiNWlYsSNQnCHFVwCRUbQAiACgK9v\nfOroVCeo6rBsysojq+SlBMtDtpDCknlOGn9UYw==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org2.example.com": {
"url": "grpcs://localhost:10051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICWDCCAf6gAwIBAgIRAMww19crV8hH1adEpOEDfFUwCgYIKoZIzj0EAwIwdjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs\nc2NhLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE1MDI1MjAwWhcNMzIwNDEyMDI1\nMjAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0G\nA1UEAxMWdGxzY2Eub3JnMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABFr/JSn1EszAScqPVHopPjQhefNhWGFogplMpBhAwF9VPk7BYBDecrYW\njfQ1g1PPnxQ/kp0SXOOVTeZDaFS6POKjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV\nHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV\nHQ4EIgQgYn1+kCmnIekTe3tJCH79yIzbZo9/yUTPXrFJ1sfbBfYwCgYIKoZIzj0E\nAwIDSAAwRQIhAKvqoHVNlFY4txK3scbbJw1GiNWlYsSNQnCHFVwCRUbQAiACgK9v\nfOroVCeo6rBsysojq+SlBMtDtpDCknlOGn9UYw==\n-----END CERTIFICATE-----\n"
}
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "https://localhost:7054",
"caName": "ca-org1",
"httpOptions": {
"verify": false
}
},
"ca.org2.example.com": {
"url": "https://localhost:8054",
"caName": "ca-org2",
"httpOptions": {
"verify": false
}
}
}
}
and I enabled the tls in the configarations of peers.
but while I was fininishing the Step Eighteen.I tried to run my network on composer-playground but it failed and the error informations are as following.Could anyone help me to fix up this question?
2022-04-15T04:40:42.251Z INFO :LoadModule :loadModule() Loading composer-wallet-filesystem from /home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-wallet-filesystem {}$
2022-04-15T04:40:42.312Z INFO :PlaygroundAPI :createServer() Playground API started on port 8080 {}$
2022-04-15T04:41:25.537Z INFO :PlaygroundAPI :createServer() Client with ID 'FqtZNzJSysII2clEAAAA' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:26.732Z INFO :PlaygroundAPI :createServer() Client with ID 'vofzZszkwPQH6Jd8AAAB' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:27.532Z INFO :ConnectionProfileManager :getConnectionManagerByTyp Looking up a connection manager for type {"0":"hlfv1"}$
2022-04-15T04:41:32.007Z INFO :ConnectionProfileManager :getConnectionManagerByTyp Using this connection manager {"0":{"connectionProfileManager":{}}}$
2022-04-15T04:41:33.339Z INFO :HLFConnection :constructor() Creating a connection using profile hlfv1 to network data-sharing-network {}$
2022-04-15T04:41:33.339Z INFO :HLFConnection :createQueryHandler() attemping to load query handler module ./hlfqueryhandler {}$
2022-04-15T04:41:33.558Z WARN :HLFConnection :_connectToEventHubs() event hub localhost:7051 failed to connect: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:33.559Z WARN :HLFConnection :_registerForChaincodeEven could not find any connected event hubs out of 1 defined hubs to listen on for chaincode events {}$
2022-04-15T04:41:33.572Z ERROR :HLFConnectionManager :fabric-client() [client-utils.js]: sendPeersProposal - Promise is rejected: Error: 14 UNAVAILABLE: EOF
at new createStatusError (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:64:15)
at /home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:583:15 {}$
2022-04-15T04:41:33.572Z WARN :HLFQueryHandler :queryChaincode() Peer peer0.org1.example.com failed to respond. Error: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:33.573Z ERROR :HLFQueryHandler :queryChaincode() {"message":"No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at HLFQueryHandler.queryChaincode (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfqueryhandler.js:108:30)\n at <anonymous>"}$
2022-04-15T04:41:33.573Z ERROR :HLFConnection :ping() {"message":"Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at _checkRuntimeVersions.then.catch (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:886:34)\n at <anonymous>"}$
2022-04-15T04:41:33.573Z ERROR :ConnectorServer :connectionPing() {"message":"Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at _checkRuntimeVersions.then.catch (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:886:34)\n at <anonymous>"}$
2022-04-15T04:41:37.003Z INFO :PlaygroundAPI :createServer() Client with ID 'vofzZszkwPQH6Jd8AAAB' on host '::ffff:127.0.0.1' disconnected (transport close) {}$
2022-04-15T04:41:37.005Z INFO :PlaygroundAPI :createServer() Client with ID 'FqtZNzJSysII2clEAAAA' on host '::ffff:127.0.0.1' disconnected (transport close) {}$
2022-04-15T04:41:39.401Z INFO :PlaygroundAPI :createServer() Client with ID 'Ea0hQJ5T-gHpYROtAAAC' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:40.662Z INFO :PlaygroundAPI :createServer() Client with ID '_ZosKcJsSCt6ZZxXAAAD' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:41.918Z INFO :ConnectionProfileManager :getConnectionManagerByTyp Looking up a connection manager for type {"0":"hlfv1"}$
2022-04-15T04:41:41.921Z INFO :HLFConnection :constructor() Creating a connection using profile hlfv1 to network data-sharing-network {}$
2022-04-15T04:41:41.921Z INFO :HLFConnection :createQueryHandler() attemping to load query handler module ./hlfqueryhandler {}$
2022-04-15T04:41:41.933Z WARN :HLFConnection :_connectToEventHubs() event hub localhost:7051 failed to connect: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:41.934Z WARN :HLFConnection :_registerForChaincodeEven could not find any connected event hubs out of 1 defined hubs to listen on for chaincode events {}$
2022-04-15T04:41:41.944Z ERROR :HLFConnectionManager :fabric-client() [client-utils.js]: sendPeersProposal - Promise is rejected: Error: 14 UNAVAILABLE: EOF
at new createStatusError (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:64:15)
at /home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:583:15 {}$
2022-04-15T04:41:41.946Z WARN :HLFQueryHandler :queryChaincode() Peer peer0.org1.example.com failed to respond. Error: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:41.946Z ERROR :HLFQueryHandler :queryChaincode() {"message":"No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at HLFQueryHandler.queryChaincode (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfqueryhandler.js:108:30)\n at <anonymous>"}$
2022-04-15T04:41:41.946Z ERROR :HLFConnection :ping() {"message":"Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at _checkRuntimeVersions.then.catch (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:886:34)\n at <anonymous>"}$
2022-04-15T04:41:41.947Z ERROR :ConnectorServer :connectionPing() {"message":"Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: Error trying to ping. Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at _checkRuntimeVersions.then.catch (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:886:34)\n at <anonymous>"}$
2022-04-15T04:41:43.293Z INFO :PlaygroundAPI :createServer() Client with ID 'Ea0hQJ5T-gHpYROtAAAC' on host '::ffff:127.0.0.1' disconnected (transport close) {}$
2022-04-15T04:41:43.293Z INFO :PlaygroundAPI :createServer() Client with ID '_ZosKcJsSCt6ZZxXAAAD' on host '::ffff:127.0.0.1' disconnected (transport close) {}$
2022-04-15T04:41:45.536Z INFO :PlaygroundAPI :createServer() Client with ID 'FFfUczgeuWyPcPzuAAAE' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:46.783Z INFO :PlaygroundAPI :createServer() Client with ID 'u69lIVvh2eeBmc-xAAAF' on host '::ffff:127.0.0.1' connected {}$
2022-04-15T04:41:46.825Z INFO :ConnectionProfileManager :getConnectionManagerByTyp Looking up a connection manager for type {"0":"hlfv1"}$
2022-04-15T04:41:46.834Z INFO :HLFConnection :constructor() Creating a connection using profile hlfv1 to network data-sharing-network {}$
2022-04-15T04:41:46.836Z INFO :HLFConnection :createQueryHandler() attemping to load query handler module ./hlfqueryhandler {}$
2022-04-15T04:41:46.917Z WARN :HLFConnection :_connectToEventHubs() event hub localhost:7051 failed to connect: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:46.917Z WARN :HLFConnection :_registerForChaincodeEven could not find any connected event hubs out of 1 defined hubs to listen on for chaincode events {}$
2022-04-15T04:41:46.945Z ERROR :HLFConnectionManager :fabric-client() [client-utils.js]: sendPeersProposal - Promise is rejected: Error: 14 UNAVAILABLE: EOF
at new createStatusError (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:64:15)
at /home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/grpc/src/client.js:583:15 {}$
2022-04-15T04:41:46.945Z WARN :HLFQueryHandler :queryChaincode() Peer peer0.org1.example.com failed to respond. Error: 14 UNAVAILABLE: EOF {}$
2022-04-15T04:41:46.946Z ERROR :HLFQueryHandler :queryChaincode() {"message":"No peers available to query. last error was Error: 14 UNAVAILABLE: EOF","stack":"Error: No peers available to query. last error was Error: 14 UNAVAILABLE: EOF\n at HLFQueryHandler.queryChaincode (/home/test/.nvm/versions/node/v8.9.0/lib/node_modules/composer-playground/node_modules/composer-connector-hlfv1/lib/hlfqueryhandler.js:108:30)\n at <anonymous>"}$
111

Related

Trying to run the Hyperledger calliper on my chaincode in test network and keep getting errors with create transaction

I am new to the block chain. Trying to run the calliper on my chaincode, in the the test network and getting the following errors. Not sure what I need to do here, to get the arguments be passed successfully to the chaincode.
Calliper command I used:
npx caliper launch manager --caliper-workspace ./ --caliper-networkconfig networks/networkConfig.yaml --caliper-benchconfig benchmarks/myPolicyBenchmark.yaml --caliper-flow-only-test --caliper-fabric-gateway-enabled
My Workload
'use strict';
const { WorkloadModuleBase } = require('#hyperledger/caliper-core');
class MyWorkload extends WorkloadModuleBase {
constructor() {
super();
}
async initializeWorkloadModule(workerIndex, totalWorkers, roundIndex, roundArguments, sutAdapter, sutContext) {
await super.initializeWorkloadModule(workerIndex, totalWorkers, roundIndex, roundArguments, sutAdapter, sutContext);
for ( let i=0; i<this.roundArguments.policies; i++) {
const policyID = `${this.workerIndex}_${i}`;
console.log(`Worker ${this.workerIndex}: Creating policy ${policyID}`);
const request = {
contractId: this.roundArguments.contractId,
contractFunction: 'CreatePolicy',
invokerIdentity: 'Admin',
contractAtguments: [policyID,"Test Policy 2","This is a test policy", "PUBLIC","PUBLIC","[\"READ\"]", "ABC", "abc#gmail.com", "[\"NONE\"]", "{}"],
readOnly: false
};
await this.sutAdapter.sendRequests(request);
}
}
async submitTransaction() {
const randomId = Math.floor(Math.random()*this.roundArguments.policies);
const myArgs = {
contractId: this.roundArguments.contractId,
contractFunction: 'ReadPolicy',
invokerIdentify: 'Admin',
//contractArguments: [`${this.workerIndex}_${randomId}`],
contractArguments: ['3'],
readOnly: true
};
await this.sutAdapter.sendRequests(myArgs);
}
async cleanupWorkloadModule() {
for (let i=0; i<this.roundArguments.policies; i++){
const policyID = `${this.workerIndex}_${i}`;
console.log(`Worker ${this.workerIndex}: Deleting policy ${policyID}`);
const request = {
contractId: this.roundArguments.contractId,
contractFunction: 'DeletePolicy',
invokerIdentity: 'Admin',
contractAtguments: [policyID],
readOnly: false
};
await this.sutAdapter.sendRequests(request);
}
}
}
function createWorkloadModule() {
return new MyWorkload();
}
module.exports.createWorkloadModule = createWorkloadModule;
The error I get is
2022.06.14-00:46:51.063 info [caliper] [caliper-worker] Info: worker 0 prepare test phase for round 0 is starting...
Worker 0: Creating policy 0_0
2022.06.14-00:46:51.078 info [caliper] [caliper-worker] Info: worker 1 prepare test phase for round 0 is starting...
Worker 1: Creating policy 1_0
2022-06-14T06:46:51.130Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
peer=peer0.org2.example.com:9051, status=500, message=error in simulation: transaction returned with failure: Error: Expected 10 parameters, but 0 have been supplied
peer=peer0.org1.example.com:7051, status=500, message=error in simulation: transaction returned with failure: Error: Expected 10 parameters, but 0 have been supplied
2022.06.14-00:46:51.132 error [caliper] [connectors/v2/FabricGateway] Failed to perform submit transaction [CreatePolicy] using arguments [], with error: Error: No valid responses from any peers. Errors:
peer=peer0.org2.example.com:9051, status=500, message=error in simulation: transaction returned with failure: Error: Expected 10 parameters, but 0 have been supplied
peer=peer0.org1.example.com:7051, status=500, message=error in simulation: transaction returned with failure: Error: Expected 10 parameters, but 0 have been supplied
at newEndorsementError (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/fabric-network/lib/transaction.js:49:12)
at getResponsePayload (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/fabric-network/lib/transaction.js:17:23)
at Transaction.submit (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/fabric-network/lib/transaction.js:212:28)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async V2FabricGateway._submitOrEvaluateTransaction (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/#hyperledger/caliper-fabric/lib/connector-versions/v2/FabricGateway.js:376:26)
at async V2FabricGateway._sendSingleRequest (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/#hyperledger/caliper-fabric/lib/connector-versions/v2/FabricGateway.js:170:16)
at async V2FabricGateway.sendRequests (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/#hyperledger/caliper-core/lib/common/core/connector-base.js:78:28)
at async MyWorkload.initializeWorkloadModule (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/workload/readPolicy.js:25:13)
at async CaliperWorker.prepareTest (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/#hyperledger/caliper-core/lib/worker/caliper-worker.js:160:13)
at async WorkerMessageHandler._handlePrepareMessage (/Users/sam/my_thesis/Project/changetracker/caliper-workspace/node_modules/#hyperledger/caliper-core/lib/worker/worker-message-handler.js:210:13)
The same inputs works fine with running through the peer
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n policylist --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"CreatePolicy","Args":["4","Test Policy 2","This is a test policy", "PUBLIC","PUBLIC","[\"READ\"]", "ABC", "abc#gmail.com", "[\"NONE\"]", "{}" ]}'
2022-06-14 00:58:06.489 CST 0001 INFO [chaincodeCmd] chaincodeInvokeOrQuery -> Chaincode invoke successful. result: status:200 payload:"{\"PolicyId\":\"4\",\"docType\":\"PolicyDoc\",\"PolicyName\":\"Test Policy 2\",\"PolicyDescription\":\"This is a test policy\",\"PolicyDataClassification\":\"PUBLIC\",\"PolicyAccessCategory\":\"PUBLIC\",\"PolicyAccessMethod\":[\"READ\"],\"PolicyOwner\":\"ABC\",\"PolicyApprovalStatus\":\"NEW\",\"PolicyCreatedOn\":\"Tue, 14 Jun 2022 06:58:06 GMT\",\"PolicyContactEmail\":\"abc#gmail.com\",\"PolicyRestrictions\":\"[\\\"NONE\\\"]\",\"PolicyMiscellaneous\":{}}"

Not able to run test cases in nightwatch framework on ec2 amazon linux instance through jenkins

While running the testcases through jenkins on ec2 instance,I am getting error message.
Here's my nightwatch configuration:
{
"src_folders" : ["test"],
"globals_path": "globals.js",
"output_folder" : "reports",
"custom_commands_path" : "./commands",
"custom_assertions_path" : "./assertions",
"page_objects_path":"./pages",
"test_workers" : {
"enabled" : false,
"workers" : "auto"
},
"selenium" : {
"start_process" : true,
"server_path" : "./bin/selenium-server-standalone-4.0.0.jar",
"log_path" : "",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "./bin/chromedriver_linux"
}
},
"test_settings" : {
"default" : {
"request_timeout_options": {
"timeout": 100000
},
"videos": {
"enabled": false,
"delete_on_pass": false,
"path": "reports/videos",
"format": "mp4",
"resolution": "1280x720",
"fps": 15,
"display": ":",
"pixel_format": "yuv420p",
"inputFormat": "mjpeg"
},
"launch_url" : "http://localhost",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"screenshots" : {
"enabled" : false,
"on_failure" : true,
"on_error" : true,
"path" : "./screenshots"
},
"end_session_on_fail" : true,
"skip_testcases_on_fail" : false,
"use_xpath" : true,
"globals" : {
"url" : "http://ec30-3-100-2-16.us-north-10.compute.amazonws.com:1000/login"
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions": {
"w3c": false,
"args" : ["headless","no-sandbox"]
},
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
getting below error message in the console :
Login Test Test Suite
==========================
- Connecting to localhost on port 4444...
Connected to localhost on port 4444 (31794ms).
Using: chrome (81.0.4044.129) on Linux platform.
Running: Verify user is able to login
POST /wd/hub/session/2a3ca3b508f6dda4d0933225c41824a4/url - ECONNRESET
Error: socket hang up
at connResetException (internal/errors.js:604:14)
at Socket.socketCloseListener (_http_client.js:400:25)
Error while running .navigateTo() protocol action: An unknown error has occurred.
POST /wd/hub/session/2a3ca3b508f6dda4d0933225c41824a4/elements - ECONNRESET
Error: socket hang up
at connResetException (internal/errors.js:604:14)
at Socket.socketCloseListener (_http_client.js:400:25)
Error while running .locateMultipleElements() protocol action: An unknown error has occurred.
I have installed the chrome browser(81.0.4044.129) in ec2 instance and their respective chrome linux driver
selenium server : selenium-server-standalone-4.0.0.jar
Note:
I configured the Jenkins in my local machine(MAC OS) and its working fine.
Please let me know if you need more information.
I believe you security group attached to the EC2 server doesn't have ICMP IPV4 inbound rules accessible to your server running this nightwatch script. Try adding your nightwatch server IP address in the ICMP IPV4 inbound rules of the ec2 server you provided in the URL or you can even make it publicly accessible. I hope this resolves your issue.

Hyperledger Composer - multi host installation

I've been experimenting with Hyperledger Fabric, deployed over 2 VirtualBox Ubuntu images with docker swarm. But I have some issues when it comes to the Composer installation.
Network Setup:
Host1: Orderer, Peer1.Org1, Peer2.Org1, CLI
Host2: Peer1.Org2, Peer2.Org2
When it comes to the Fabric setup everything appears to be ok. I'm able to start the network, join the peers from the second host, and update the anchor peers (one for each organisation).
The Composer installation starts with creating and importing the business network card and then installing the .bna file onto the network.
The issues appear when I try to start the network:
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: failed to execute transaction 14f90ad938da64fbbdb2923b07f4985251391937fc3fdc8bab19c2d13135ecd3: error starting container: error starting container: API error (500): Could not attach to network net_example: rpc error: code = NotFound desc = network net_example not found
Response from attempted peer comms was an error: Error: failed to execute transaction 14f90ad938da64fbbdb2923b07f4985251391937fc3fdc8bab19c2d13135ecd3: error starting container: error starting container: API error (500): Could not attach to network net_example: rpc error: code = NotFound desc = network net_example not found
Response from attempted peer comms was an error: Error: Failed to connect before the deadline
Response from attempted peer comms was an error: Error: Failed to connect before the deadline
When I inspect the first peer from org1, I'm seeing the following error:
2018-09-24 13:46:44.665 UTC [lscc] executeInstall -> INFO 03c Installed Chaincode [example-network] Version [0.0.1] to peer
2018-09-24 13:46:46.993 UTC [dockercontroller] Start -> ERRO 03d start-could not start container: API error (500): Could not attach to network net_example: rpc error: code = NotFound desc = network net_example not found
2018-09-24 13:46:47.008 UTC [chaincode] Launch -> ERRO 03e start failed: API error (500): Could not attach to network net_example: rpc error: code = NotFound desc = network net_example not found
error starting container
error starting container
2018-09-24 13:46:47.008 UTC [endorser] SimulateProposal -> ERRO 03f [mychannel][14f90ad9] failed to invoke chaincode name:"lscc" , error: API error (500): Could not attach to network net_example: rpc error: code = NotFound desc = network net_example not found
error starting container
error starting container
failed to execute transaction 14f90ad938da64fbbdb2923b07f4985251391937fc3fdc8bab19c2d13135ecd3
github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute
/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181
github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute
/opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:131
github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode
/opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:173
github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal
/opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287
github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal
/opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501
github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal
/opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61
github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal
/opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31
github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler
/opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112
github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC
/opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923
github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream
/opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148
github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1
/opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637
runtime.goexit
/opt/go/src/runtime/asm_amd64.s:2361
2018-09-24 13:46:51.770 UTC [lscc] Invoke -> ERRO 040 error getting chaincode example-network on channel [mychannel]: could not find chaincode with name 'example-network'
This is my connectionProfile.json:
{
"name": "example-network",
"x-type": "hlfv1",
"version": "1.0.0",
"channels": {
"mychannel": {
"orderers": [
"orderer.example.com"
],
"peers": {
"peer0.manager.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer1.manager.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer0.sponsor.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer1.sponsor.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
}
}
}
},
"organizations": {
"Manager": {
"mspid": "ManagerMSP",
"peers": [
"peer0.manager.example.com",
"peer1.manager.example.com"
],
"certificateAuthorities": [
"ca.manager.example.com"
]
},
"Sponsor": {
"mspid": "SponsorMSP",
"peers": [
"peer0.sponsor.example.com",
"peer1.sponsor.example.com"
],
"certificateAuthorities": [
"ca.sponsor.example.com"
]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORDERER_CA_CERT"
}
}
},
"peers": {
"peer0.manager.example.com": {
"url": "grpcs://localhost:7051",
"eventUrl": "grpcs://localhost:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.manager.example.com"
},
"tlsCACerts": {
"pem": "INSERT_MANAGER_CA_CERT"
}
},
"peer1.manager.example.com": {
"url": "grpcs://localhost:8051",
"eventUrl": "grpcs://localhost:8053",
"grpcOptions": {
"ssl-target-name-override": "peer1.manager.example.com"
},
"tlsCACerts": {
"pem": "INSERT_MANAGER_CA_CERT"
}
},
"peer0.sponsor.example.com": {
"url": "grpcs://10.0.0.113:9051",
"eventUrl": "grpcs://10.0.0.113:9053",
"grpcOptions": {
"ssl-target-name-override": "peer0.sponsor.example.com"
},
"tlsCACerts": {
"pem": "INSERT_SPONSOR_CA_CERT"
}
},
"peer1.sponsor.example.com": {
"url": "grpcs://10.0.0.112:10051",
"eventUrl": "grpcs://10.0.0.112:10053",
"grpcOptions": {
"ssl-target-name-override": "peer1.sponsor.example.com"
},
"tlsCACerts": {
"pem": "INSERT_SPONSOR_CA_CERT"
}
}
},
"certificateAuthorities": {
"ca.manager.example.com": {
"url": "https://localhost:7054",
"caName": "ca-manager",
"httpOptions": {
"verify": false
}
},
"ca.sponsor.example.com": {
"url": "https://10.0.0.111:8054",
"caName": "ca-sponsor",
"httpOptions": {
"verify": false
}
}
}
}
Does anybody know what I could try next?
The composer network start command is attempting to start a 'chaincode' container for each of the peers, and from error you show, there are 2 of your peers that cannot start these new container.
The error looks like a Docker error - the containers cannot be started on a network bridge called "net_example". I would guess that you have an environment variable defined in one of your docker-compose-xxx.yaml files that defines this variable: CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE which determines which network bridge the new containers are attached to.
You will need to determine which network bridge our other Fabric containers are using, then set this variable in the .yaml to that bridge.
This previous post has some discussion on multi-host fabric.
I dont think you need Docker Swarm for multi host Fabric setup.
I tried this tool from Altoros for easy setup of multi host Fabric. it did work with Fabric 1.1. For 1.2 it did not work - i think it requires some changes.
https://www.altoros.com/blog/deploying-a-multi-node-hyperledger-fabric-network-in-5-steps/
There is another tool from Debut Infotech. you can try this too.
https://www.fabricdeployer.com/
Early on i tried setting up with Docker Swarm using the link below. it worked.
https://medium.com/#wahabjawed/hyperledger-fabric-on-multiple-hosts-a33b08ef24f

Parse-Dashboard: Server Not Reachable: unable to connect server Error

I have parse-server and parse-dashboard installed with pm2 in docker container in my synology nas as below:
+------+ +-------------+
| +NIC1 (192.168.1.100) <--> Router <--> (192.168.1.2) NIC1 + |
| PC | | DSM |
| +NIC2 (10.10.0.100) <--Peer-2-Peer---> (10.10.0.2) NIC2 + |
+------+ | [DOCKER] |
|(172.17.0.2) |
+-------------+
for reference: for pm2 setup, i'm following: this tutorial
here is my parse-server and parse-dashboard pm2 ecosystem (defined in pm2's ecosystem.json):
{
"apps" : [{
"name" : "parse-wrapper",
"script" : "/usr/bin/parse-server",
"watch" : true,
"merge_logs" : true,
"cwd" : "/home/parse",
"args" : "--serverURL http://localhost:1337/parse",
"env": {
"PARSE_SERVER_CLOUD_CODE_MAIN": "/home/parse/cloud/main.js",
"PARSE_SERVER_DATABASE_URI": "mongodb://localhost/test",
"PARSE_SERVER_APPLICATION_ID": "aeb932b93a9125c19df2fcaf3fd69fcb",
"PARSE_SERVER_MASTER_KEY": "358898112f354f8db593ea004ee88fed",
}
},{
"name" : "parse-dashboard-wrapper",
"script" : "/usr/bin/parse-dashboard",
"watch" : true,
"merge_logs" : true,
"cwd" : "/home/parse/parse-dashboard",
"args" : "--config /home/parse/parse-dashboard/config.json --allowInsecureHTTP=1"
}]
}
here is my parse-dashboard config: /home/parse/parse-dashboard/config.json
{
"apps": [{
"serverURL": "http://172.17.0.2:1337/parse",
"appId": "aeb932b93a9125c19df2fcaf3fd69fcb",
"masterKey": "358898112f354f8db593ea004ee88fed",
"appName": "Parse Server",
"iconName": "",
"primaryBackgroundColor": "",
"secondaryBackgroundColor": ""
}],
"users": [{
"user": "user",
"pass": "1234"
}],
"iconsFolder": "icons"
}
once you run: pm2 start ecosystem.json
here is parse-server log: pm2 logs 0
masterKey: ***REDACTED***
serverURL: http://localhost:1337/parse
masterKeyIps: []
logsFolder: ./logs
databaseURI: mongodb://localhost/test
userSensitiveFields: ["email"]
enableAnonymousUsers: true
allowClientClassCreation: true
maxUploadSize: 20mb
customPages: {}
sessionLength: 31536000
expireInactiveSessions: true
revokeSessionOnPasswordReset: true
schemaCacheTTL: 5000
cacheTTL: 5000
cacheMaxSize: 10000
objectIdSize: 10
port: 1337
host: 0.0.0.0
mountPath: /parse
scheduledPush: false
collectionPrefix:
verifyUserEmails: false
preventLoginWithUnverifiedEmail: false
enableSingleSchemaCache: false
jsonLogs: false
verbose: false
level: undefined
[1269] parse-server running on http://localhost:1337/parse
here is parse-dashboard log: pm2 logs 1
The dashboard is now available at http://0.0.0.0:4040/
once it's run, i can access 192.168.1.2:1337/parse (which will return {"error":"unauthorized"})
and i can access 192.168.1.2:4040
but it return:
Server not reachable: unable to connect to server
i see a lot of this issue can be solve by changing parse-dashboard config "serverURL": "http://localhost:1337/parse" to "serverURL": "http://172.17.0.2:1337/parse"
but to me, it's still no luck...
any idea what i've been missing here?
so apparently, my /home/parse/parse-dashboard/config.json:
"serverURL": "http://172.17.0.2:1337/parse"
should point to my DSM machine which is:
"serverURL": "http://192.168.1.2:1337/parse"

Creating Selenium node

I am getting this error while i am trying to attach my real Android device as a Selenium node to hub?
Couldn't register this node: The hub is down or not responding: Connect to x.x.x.x:4445 [/x.x.x.x] failed: Network is unreachable
Any suggestions would be appreciated.
config.json file :
{ "capabilities":
[ {
"browserName": "Android",
"version":"4.4.2",
"maxInstances": 3,
"platform":"ANDROID",
"deviceName":"emulator-5554" } ],
"configuration":
{ "nodeTimeout":120,
"port":4728,
"hubPort":4444,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"127.0.0.1:4728/wd/hub",
"hub": "127.0.0.1:4444/grid/register",
"hubHost":"127.0.0.1",
"nodePolling":2000,
"registerCycle":10000,
"register":true,
"cleanUpCycle":2000,
"timeout":30000, "maxSession":1 }
}
Giving config.json file which is working fine for me on selenium grid for android device as well as emulators. Give it a try.
{
"capabilities":
[
{
"browserName": "",
"version":"",
"maxInstances": 1,
"platform":"ANDROID"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://127.0.0.1:4720/wd/hub",
"host":"192.168.1.163",
"port": 4723,
"maxSession": 1,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "192.168.1.163"
}
}
I am getting below error message.
error: `
uncaughtException: Cannot read property 'url' of undefined date=Fri
Oct 30 2015 10:31:30 GMT+0530 (IST), pid=2850, uid=1020000013,
gid=1020000013,
cwd=/home/sandeepreddy/.npm-packages/lib/node_modules/appium,
execPath=/usr/bin/nodejs, version=v0.10.37, argv=[node,
/usr/bin/appium, --nodeconfi**
`

Resources