0

I set up a Hyperledger Fabric 2.2 network successfully but unable to query/invoke assets through nodeJs SDK. The node version I am using is 16. I think the issue is with grpc most probably. I was able to create assets when I was using node version 12 but not with version 16

1

Error snippet

Loaded the network configuration located at /home/harsh/Videos/standardc-backend-master-v3-dlt/fabric-network-setup/fabric-swarm/common-connection-profile.json
Connect to Fabric gateway.
2023-02-13T15:28:45.076Z - info: [NetworkConfig]: buildOrderer - Unable to connect to the committer ord1_standardc_io due to TypeError: Channel credentials must be a ChannelCredentials object
    at new ChannelImplementation (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/channel.js:102:19)
    at new Client (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/client.js:65:36)
    at new ServiceClientImpl (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/make-client.js:58:5)
    at Committer.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/node_modules/fabric-common/lib/ServiceEndpoint.js:120:18)
    at buildOrderer (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:103:23)
    at async Object.loadFromConfig (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:50:13)
    at async Gateway.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/gateway.js:299:13)
    at async evaluate (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/commonHyperledgerHelpers/query.js:50:5)
    at async queryAssetById (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/asset/asset.js:149:20)
2023-02-13T15:28:45.080Z - info: [NetworkConfig]: buildOrderer - Unable to connect to the committer ord2_standardc_io due to TypeError: Channel credentials must be a ChannelCredentials object
    at new ChannelImplementation (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/channel.js:102:19)
    at new Client (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/client.js:65:36)
    at new ServiceClientImpl (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/make-client.js:58:5)
    at Committer.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/node_modules/fabric-common/lib/ServiceEndpoint.js:120:18)
    at buildOrderer (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:103:23)
    at async Object.loadFromConfig (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:50:13)
    at async Gateway.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/gateway.js:299:13)
    at async evaluate (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/commonHyperledgerHelpers/query.js:50:5)
    at async queryAssetById (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/asset/asset.js:149:20)
2023-02-13T15:28:45.083Z - info: [NetworkConfig]: buildOrderer - Unable to connect to the committer ord3_standardc_io due to TypeError: Channel credentials must be a ChannelCredentials object
    at new ChannelImplementation (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/channel.js:102:19)
    at new Client (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/client.js:65:36)
    at new ServiceClientImpl (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-common/node_modules/@grpc/grpc-js/build/src/make-client.js:58:5)
    at Committer.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/node_modules/fabric-common/lib/ServiceEndpoint.js:120:18)
    at buildOrderer (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:103:23)
    at async Object.loadFromConfig (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/impl/ccp/networkconfig.js:50:13)
    at async Gateway.connect (/home/harsh/Videos/standardc-backend-master-v3-dlt/node_modules/fabric-network/lib/gateway.js:299:13)
    at async evaluate (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/commonHyperledgerHelpers/query.js:50:5)
    at async queryAssetById (/home/harsh/Videos/standardc-backend-master-v3-dlt/modules/dlt/asset/asset.js:149:20)
Use network channel: standardcdltchannel.
2023-02-13T15:28:45.161Z - error: [ServiceEndpoint]: ServiceEndpoint grpcs://localhost:7050 reset connection failed :: TypeError: Channel credentials must be a ChannelCredentials object
2023-02-13T15:28:45.163Z - error: [ServiceEndpoint]: ServiceEndpoint grpcs://localhost:7050 reset connection failed :: TypeError: Channel credentials must be a ChannelCredentials object
2023-02-13T15:28:45.165Z - error: [ServiceEndpoint]: ServiceEndpoint grpcs://localhost:7050 reset connection failed :: TypeError: Channel credentials must be a ChannelCredentials object

Common-connection-profile

{
  "name": "abcd",
  "version": "1.0.0",
  "channels": {
    "standardcdltchannel": {
      "orderers": [
        "ord1_standardc_io",
        "ord2_standardc_io",
        "ord3_standardc_io"
      ],
      "peers": [
        "a1_admin_standardc_io",
        "a2_admin_standardc_io",
        "a1_fin_standardc_io",
        "a2_fin_standardc_io",
        "a1_user_standardc_io",
        "a2_user_standardc_io"
      ]
    }
  },
  "orderers": {
    "ord1_standardc_io": {
      "url": "grpcs://localhost:7050",
      "grpcOptions": {
        "ssl-target-name-override": "ord1_standardc_io"
      },
      "tlsCACerts": {
        "path": "fabric-network-setup/fabric-swarm/crypto-config/ordererOrganizations/standardc_io/orderers/ord1_standardc_io/tls/ca.crt"
      }
    },
    "ord2_standardc_io": {
      "url": "grpcs://localhost:8050",
      "grpcOptions": {
        "ssl-target-name-override": "ord2_standardc_io"
      },
      "tlsCACerts": {
        "path": "fabric-network-setup/fabric-swarm/crypto-config/ordererOrganizations/standardc_io/orderers/ord2_standardc_io/tls/ca.crt"
      }
    },
    "ord3_standardc_io": {
      "url": "grpcs://localhost:9050",
      "grpcOptions": {
        "ssl-target-name-override": "ord3_standardc_io"
      },
      "tlsCACerts": {
        "path": "fabric-network-setup/fabric-swarm/crypto-config/ordererOrganizations/standardc_io/orderers/ord3_standardc_io/tls/ca.crt"
      }
    }
  },
  "organizations": {
    "StandardCAdmin": {
      "mspid": "StandardCAdminMSP",
      "peers": [
        "a1_admin_standardc_io",
        "a2_admin_standardc_io"
      ],
      "certificateAuthorities": [
        "ca_StandardCAdmin"
      ]
    },
    "StandardCFin": {
      "mspid": "StandardCFinMSP",
      "peers": [
        "a1_fin_standardc_io",
        "a2_fin_standardc_io"
      ],
      "certificateAuthorities": [
        "ca_StandardCFin"
      ]
    },
    "StandardCUser": {
      "mspid": "StandardCUserMSP",
      "peers": [
        "a1_user_standardc_io",
        "a2_user_standardc_io"
      ],
      "certificateAuthorities": [
        "ca_StandardCUser"
      ]
    }
  },
  "peers": {
    "a1_admin_standardc_io": {
      "url": "grpcs://localhost:7051",
      "grpcOptions": {
        "ssl-target-name-override": "a1_admin_standardc_io",
        "hostnameOverride": "a1_admin_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICXzCCAgagAwIBAgIRAPGMIxMpZ7KcQuC1J115hKcwCgYIKoZIzj0EAwIwejEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGzAZBgNVBAoMEmFkbWluX3N0YW5kYXJkY19pbzEhMB8GA1UEAwwY\ndGxzY2EuYWRtaW5fc3RhbmRhcmRjX2lvMB4XDTIzMDIxMzEwNDEwMFoXDTMzMDIx\nMDEwNDEwMFowejELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU\nBgNVBAcTDVNhbiBGcmFuY2lzY28xGzAZBgNVBAoMEmFkbWluX3N0YW5kYXJkY19p\nbzEhMB8GA1UEAwwYdGxzY2EuYWRtaW5fc3RhbmRhcmRjX2lvMFkwEwYHKoZIzj0C\nAQYIKoZIzj0DAQcDQgAEP7hrn3FOgSIoV2OFpF5N448bXLg8NdwWSXJ76xra1Dsj\nJfS6+A6OKp+4X0VZ7vfUqvVNSj0vU611osqopRYWt6NtMGswDgYDVR0PAQH/BAQD\nAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD\nAQH/MCkGA1UdDgQiBCCxhxWEEntqKYczzMh3sncOGFwiP9XB8U/hmUTRFnboWzAK\nBggqhkjOPQQDAgNHADBEAiAf3ZbcFLushIlfZ4dD67SVUMay6EdUE7mPvsUXXLqF\nQwIgeRFexyjDtl3bAnCrf/KNe9uPq/epZWXMvS+JnGgBO8s=\n-----END CERTIFICATE-----\n"
      }
    },
    "a2_admin_standardc_io": {
      "url": "grpcs://localhost:10105",
      "grpcOptions": {
        "ssl-target-name-override": "a2_admin_standardc_io",
        "hostnameOverride": "a2_admin_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICXzCCAgagAwIBAgIRAPGMIxMpZ7KcQuC1J115hKcwCgYIKoZIzj0EAwIwejEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGzAZBgNVBAoMEmFkbWluX3N0YW5kYXJkY19pbzEhMB8GA1UEAwwY\ndGxzY2EuYWRtaW5fc3RhbmRhcmRjX2lvMB4XDTIzMDIxMzEwNDEwMFoXDTMzMDIx\nMDEwNDEwMFowejELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU\nBgNVBAcTDVNhbiBGcmFuY2lzY28xGzAZBgNVBAoMEmFkbWluX3N0YW5kYXJkY19p\nbzEhMB8GA1UEAwwYdGxzY2EuYWRtaW5fc3RhbmRhcmRjX2lvMFkwEwYHKoZIzj0C\nAQYIKoZIzj0DAQcDQgAEP7hrn3FOgSIoV2OFpF5N448bXLg8NdwWSXJ76xra1Dsj\nJfS6+A6OKp+4X0VZ7vfUqvVNSj0vU611osqopRYWt6NtMGswDgYDVR0PAQH/BAQD\nAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD\nAQH/MCkGA1UdDgQiBCCxhxWEEntqKYczzMh3sncOGFwiP9XB8U/hmUTRFnboWzAK\nBggqhkjOPQQDAgNHADBEAiAf3ZbcFLushIlfZ4dD67SVUMay6EdUE7mPvsUXXLqF\nQwIgeRFexyjDtl3bAnCrf/KNe9uPq/epZWXMvS+JnGgBO8s=\n-----END CERTIFICATE-----\n"
      }
    },
    "a1_fin_standardc_io": {
      "url": "grpcs://localhost:8051",
      "grpcOptions": {
        "ssl-target-name-override": "a1_fin_standardc_io",
        "hostnameOverride": "a1_fin_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICWDCCAf6gAwIBAgIRAPLNPsjll3MJ1JtK4H2n7SIwCgYIKoZIzj0EAwIwdjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoMEGZpbl9zdGFuZGFyZGNfaW8xHzAdBgNVBAMMFnRs\nc2NhLmZpbl9zdGFuZGFyZGNfaW8wHhcNMjMwMjEzMTA0MTAwWhcNMzMwMjEwMTA0\nMTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UECgwQZmluX3N0YW5kYXJkY19pbzEfMB0G\nA1UEAwwWdGxzY2EuZmluX3N0YW5kYXJkY19pbzBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABDpbUyoFRVo7xoIuTCwmCosJujfQbMDNuO9d9ZrouyR6Z+hHsHygBnSU\nL5TjSQ5rBHicwVWDhpD+p3UTiqNH1cyjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV\nHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV\nHQ4EIgQgBW/ha6XUwwxfLHUbngYe1fFSi7wE2YHvVnLrCmjaIQQwCgYIKoZIzj0E\nAwIDSAAwRQIhAPhfFS5BwyQ9kGj7+YR8U+yXyNK42J89Ym77oTtTjKlmAiB5Q3yk\nagyJDOrYyxmAXu+7YgrYUD0Hu6BOVWk6ply7Pg==\n-----END CERTIFICATE-----\n"
      }
    },
    "a2_fin_standardc_io": {
      "url": "grpcs://localhost:10205",
      "grpcOptions": {
        "ssl-target-name-override": "a2_fin_standardc_io",
        "hostnameOverride": "a2_fin_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICWDCCAf6gAwIBAgIRAPLNPsjll3MJ1JtK4H2n7SIwCgYIKoZIzj0EAwIwdjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoMEGZpbl9zdGFuZGFyZGNfaW8xHzAdBgNVBAMMFnRs\nc2NhLmZpbl9zdGFuZGFyZGNfaW8wHhcNMjMwMjEzMTA0MTAwWhcNMzMwMjEwMTA0\nMTAwWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\nBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UECgwQZmluX3N0YW5kYXJkY19pbzEfMB0G\nA1UEAwwWdGxzY2EuZmluX3N0YW5kYXJkY19pbzBZMBMGByqGSM49AgEGCCqGSM49\nAwEHA0IABDpbUyoFRVo7xoIuTCwmCosJujfQbMDNuO9d9ZrouyR6Z+hHsHygBnSU\nL5TjSQ5rBHicwVWDhpD+p3UTiqNH1cyjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNV\nHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNV\nHQ4EIgQgBW/ha6XUwwxfLHUbngYe1fFSi7wE2YHvVnLrCmjaIQQwCgYIKoZIzj0E\nAwIDSAAwRQIhAPhfFS5BwyQ9kGj7+YR8U+yXyNK42J89Ym77oTtTjKlmAiB5Q3yk\nagyJDOrYyxmAXu+7YgrYUD0Hu6BOVWk6ply7Pg==\n-----END CERTIFICATE-----\n"
      }
    },
    "a1_user_standardc_io": {
      "url": "grpcs://localhost:9051",
      "grpcOptions": {
        "ssl-target-name-override": "a1_user_standardc_io",
        "hostnameOverride": "a1_user_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgGgAwIBAgIQfzttriKt8PjPCq6ahVRsgTAKBggqhkjOPQQDAjB4MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEaMBgGA1UECgwRdXNlcl9zdGFuZGFyZGNfaW8xIDAeBgNVBAMMF3Rs\nc2NhLnVzZXJfc3RhbmRhcmRjX2lvMB4XDTIzMDIxMzEwNDEwMFoXDTMzMDIxMDEw\nNDEwMFoweDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV\nBAcTDVNhbiBGcmFuY2lzY28xGjAYBgNVBAoMEXVzZXJfc3RhbmRhcmRjX2lvMSAw\nHgYDVQQDDBd0bHNjYS51c2VyX3N0YW5kYXJkY19pbzBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABEEH6Km7J/yMIPVmV5xHGO4z/70817YsUB3vhEcPzW24Utb9Fa4z\nV5PFL1F3THPCC03/j6FKkH2Sb8U5kR6H4A2jbTBrMA4GA1UdDwEB/wQEAwIBpjAd\nBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAp\nBgNVHQ4EIgQgeiTgppGQVAIkzh/rUj/mkAvrzo02U42GQ+yqISd+0akwCgYIKoZI\nzj0EAwIDSAAwRQIhAK2Jif9AmcyXMjw0QtNsqvynrdHEhsrkRH3faCfxa0ECAiBS\njXiY+4T66F//0F4xk1FUhJaeZQCm5hCYt/h1AlNi6g==\n-----END CERTIFICATE-----\n"
      }
    },
    "a2_user_standardc_io": {
      "url": "grpcs://localhost:10305",
      "grpcOptions": {
        "ssl-target-name-override": "a2_user_standardc_io",
        "hostnameOverride": "a2_user_standardc_io"
      },
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICWzCCAgGgAwIBAgIQfzttriKt8PjPCq6ahVRsgTAKBggqhkjOPQQDAjB4MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEaMBgGA1UECgwRdXNlcl9zdGFuZGFyZGNfaW8xIDAeBgNVBAMMF3Rs\nc2NhLnVzZXJfc3RhbmRhcmRjX2lvMB4XDTIzMDIxMzEwNDEwMFoXDTMzMDIxMDEw\nNDEwMFoweDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV\nBAcTDVNhbiBGcmFuY2lzY28xGjAYBgNVBAoMEXVzZXJfc3RhbmRhcmRjX2lvMSAw\nHgYDVQQDDBd0bHNjYS51c2VyX3N0YW5kYXJkY19pbzBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABEEH6Km7J/yMIPVmV5xHGO4z/70817YsUB3vhEcPzW24Utb9Fa4z\nV5PFL1F3THPCC03/j6FKkH2Sb8U5kR6H4A2jbTBrMA4GA1UdDwEB/wQEAwIBpjAd\nBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAp\nBgNVHQ4EIgQgeiTgppGQVAIkzh/rUj/mkAvrzo02U42GQ+yqISd+0akwCgYIKoZI\nzj0EAwIDSAAwRQIhAK2Jif9AmcyXMjw0QtNsqvynrdHEhsrkRH3faCfxa0ECAiBS\njXiY+4T66F//0F4xk1FUhJaeZQCm5hCYt/h1AlNi6g==\n-----END CERTIFICATE-----\n"
      }
    }
  },
  "certificateAuthorities": {
    "ca_StandardCAdmin": {
      "url": "https://localhost:7054",
      "caName": "ca_StandardCAdmin",
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICWTCCAf+gAwIBAgIQGqmY2TnbrYHpfSLWJG9slzAKBggqhkjOPQQDAjB3MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEbMBkGA1UECgwSYWRtaW5fc3RhbmRhcmRjX2lvMR4wHAYDVQQDDBVj\nYS5hZG1pbl9zdGFuZGFyZGNfaW8wHhcNMjMwMjEzMTA0MTAwWhcNMzMwMjEwMTA0\nMTAwWjB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE\nBxMNU2FuIEZyYW5jaXNjbzEbMBkGA1UECgwSYWRtaW5fc3RhbmRhcmRjX2lvMR4w\nHAYDVQQDDBVjYS5hZG1pbl9zdGFuZGFyZGNfaW8wWTATBgcqhkjOPQIBBggqhkjO\nPQMBBwNCAAQjAX9P5VDzrYNCyAX3VVyx+b2Zj6ksqr0kjwrK7p7tw44Re9gDnrZx\ns1T4TQtays+3vdJVrcR60XfljJah5KHLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYD\nVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYD\nVR0OBCIEINP68n78uQQUXLyEj8Z3t7i+P6DAhLTrqxZg4Z6STy/HMAoGCCqGSM49\nBAMCA0gAMEUCIQCwErwt0jkJCvEXMNKK4wfHdr7bc+VJBwTx/+55wPDq7gIgS++Q\nHoo9XcFa0tTxaHIXlw/RSUHyhjtlQcbmQkGYTxc=\n-----END CERTIFICATE-----\n"
      },
      "httpOptions": {
        "verify": false
      }
    },
    "ca_StandardCFin": {
      "url": "https://localhost:8054",
      "caName": "ca_StandardCFin",
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICUTCCAfegAwIBAgIQF73X1H/A97e8dD9ONdx+uzAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UECgwQZmluX3N0YW5kYXJkY19pbzEcMBoGA1UEAwwTY2Eu\nZmluX3N0YW5kYXJkY19pbzAeFw0yMzAyMTMxMDQxMDBaFw0zMzAyMTAxMDQxMDBa\nMHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMRkwFwYDVQQKDBBmaW5fc3RhbmRhcmRjX2lvMRwwGgYDVQQD\nDBNjYS5maW5fc3RhbmRhcmRjX2lvMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\n7okOZKS2UcKbXyPTcuUKm4IwyixTop0acLApHul7jdHlCagaHHp8ZRDkujrSMwFW\nSE2XyAliby+qKBZzTo4Tp6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDQ\nLKzwFEERdwOuOiXqe6NWzDHsX7n0uhQYhMS/SvWToTAKBggqhkjOPQQDAgNIADBF\nAiEA6bFSIeCZlSnIQJ8SEhMgaLyk0QQmxeE9KzbeJEAyhAUCIBNaZUC0YGXB2mm4\nYHbxf0BYRgLI+/tNMD20NwqVr6MQ\n-----END CERTIFICATE-----\n"
      },
      "httpOptions": {
        "verify": false
      }
    },
    "ca_StandardCUser": {
      "url": "https://localhost:9054",
      "caName": "ca_StandardCUser",
      "tlsCACerts": {
        "pem": "-----BEGIN CERTIFICATE-----\nMIICVDCCAfugAwIBAgIQcJ3I4sJZB/aozh8fz5Pu4jAKBggqhkjOPQQDAjB1MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEaMBgGA1UECgwRdXNlcl9zdGFuZGFyZGNfaW8xHTAbBgNVBAMMFGNh\nLnVzZXJfc3RhbmRhcmRjX2lvMB4XDTIzMDIxMzEwNDEwMFoXDTMzMDIxMDEwNDEw\nMFowdTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT\nDVNhbiBGcmFuY2lzY28xGjAYBgNVBAoMEXVzZXJfc3RhbmRhcmRjX2lvMR0wGwYD\nVQQDDBRjYS51c2VyX3N0YW5kYXJkY19pbzBZMBMGByqGSM49AgEGCCqGSM49AwEH\nA0IABFZqnLYHyueJRTde2is1GE0NTch7/7wIbic3TWsGp3nIbr/qQOeO4C/sKQcr\na10IeAxOqygPCvX1PhVAyuXIADajbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUE\nFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4E\nIgQgfw82nvAsVC+uPtAETYmU5QFTzfW6e4FYdP713usdKQQwCgYIKoZIzj0EAwID\nRwAwRAIgcbiH6oGe17/7gYJ/8JL7NZSjNzmkdZPOuPX55TD7d+MCICdc+U++8S1j\nCoxSHhmGiDjQ4nejCelav69jwV3KlVqy\n-----END CERTIFICATE-----\n"
      },
      "httpOptions": {
        "verify": false
      }
    }
  }
}

package.json with essentials details

{
    "name": "abcd-backend",
    "version": "3.0.0-476-230212",
    "private": true,
    "scripts": {
        "start": "nodemon ./bin/www"
    },
    "dependencies": {
        "fabric-ca-client": "^2.2.15",
        "fabric-client": "^1.4.18",
        "fabric-common": "^2.2.16",
        "fabric-network": "^2.2.15",
        "grpc": "^1.24.11"
    }
}

1 Answers1

0

The error "TypeError:Channel credentials must be a ChannelCredentials object" happens most commonly because the gRPC library that was used to create the ChannelCredentials object does not match the gRPC library that it was passed to to create a Channel. In this case, the error is coming from the library @grpc/grpc-js, but you have a dependency on grpc. If you used grpc to create the credentials object, that would cause this error. You should depend on @grpc/grpc-js instead.

murgatroid99
  • 19,007
  • 10
  • 60
  • 95
  • Hello sir, I setup 1.4 fabric network with same package.json and was able to successfully query/create assets. But when I migated this network from 1.4 to 2.2 with same package.json, it is showing this issue. I haven't made any changes in grpc – harsh gupta Feb 14 '23 at 06:24
  • Perhaps fabric 2.2 uses a different gRPC library dependency than fabric 1.4 did, creating an incompatibility that previously did not exist. – murgatroid99 Feb 14 '23 at 06:27
  • But one more thing sir, when I did the same setup of 1.4 using 1.2 node_version and then migrated to 2.2 with same version. I was successfully able to query and create assets in both versions of fabric – harsh gupta Feb 14 '23 at 06:49