最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Hyperledger Fabric Java Chaincode (Maven) Deployment Fails: "Address types of NameResolver 'unix' not s

programmeradmin2浏览0评论

I am trying to deploy a Java chaincode on Hyperledger Fabric using the test network (fabric_test). My Java project is a Maven project and java version used is 11. I am running Hyperledger Fabric version 2.5.4 or 2.5.10

The chaincode I am deploying is based on the examples from the Hyperledger Fabric GitHub repository:

  1. fabric-samples/asset-transfer-basic
  2. fabric-chaincode-java/examples

I am following deployment process described in the Hyperledger Fabric Docs - .5/deploy_chaincode.html:

  1. Packaging the chaincode
  2. Installing it on both organizations (Org1 and Org2)
  3. Approving it for each organization

All these steps succeeds. However, during the commit phase, the monitoring fabric_test gives following error in the logs:

dev-peer01.example-mychaincodejava-4e5..|Thread[main,5,main] 08:23:25:895 INFO    org.hyperledger.fabric.contract.ContractRouter main                              Starting chaincode as client
dev-peer01.example-mychaincodejava-4e5..|Thread[main,5,main] 08:23:26:451 SEVERE  org.hyperledger.fabric.contract.ContractRouter startRouting                      Address types of NameResolver 'unix' for 'peer01.example:7052' not supported by transport
dev-peer01.example-mychaincodejava-4e5..|java.lang.IllegalArgumentException: Address types of NameResolver 'unix' for 'peer01.example:7052' not supported by transport
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.internal.ManagedChannelImplBuilder.getNameResolverProvider(ManagedChannelImplBuilder.java:849)
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:699)
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:272)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.shim.impl.ChaincodeSupportClient.<init>(ChaincodeSupportClient.java:40)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.shim.ChaincodeBase.connectToPeer(ChaincodeBase.java:178)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.contract.ContractRouter.startRouting(ContractRouter.java:100)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.contract.ContractRouter.main(ContractRouter.java:177)
dev-peer01.example-mychaincodejava-4e5..|
dev-peer01.example-mychaincodejava-4e5..|Exception in thread "main" org.hyperledger.fabric.contract.ContractRuntimeException: Unable to start routing
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.contract.ContractRouter.startRouting(ContractRouter.java:103)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.contract.ContractRouter.main(ContractRouter.java:177)
dev-peer01.example-mychaincodejava-4e5..|Caused by: java.lang.IllegalArgumentException: Address types of NameResolver 'unix' for 'peer01.example:7052' not supported by transport
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.internal.ManagedChannelImplBuilder.getNameResolverProvider(ManagedChannelImplBuilder.java:849)
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:699)
dev-peer01.example-mychaincodejava-4e5..|   at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:272)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.shim.impl.ChaincodeSupportClient.<init>(ChaincodeSupportClient.java:40)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.shim.ChaincodeBase.connectToPeer(ChaincodeBase.java:178)
dev-peer01.example-mychaincodejava-4e5..|   at org.hyperledger.fabric.contract.ContractRouter.startRouting(ContractRouter.java:100)
dev-peer01.example-mychaincodejava-4e5..|   ... 1 more
peer02.example|2025-02-08 08:23:27.664 UTC 006e WARN [lifecycle] Work -> could not launch chaincode 'mychaincodejava:445e6ee3ddad97b25c131663cb0549bfe9625622e83577fc8c191e079f840fc1': chaincode registration failed: container exited with 1
peer01.example|2025-02-08 08:23:27.664 UTC 0077 WARN [lifecycle] Work -> could not launch chaincode 'mychaincodejava:445e6ee3ddad97b25c131663cb0549bfe9625622e83577fc8c191e079f840fc1': chaincode registration failed: container exited with 1

I did these followings to try resolving it:

  1. Checked connectivity: The peers can communicate with each other, and all containers are running before the commit step. Using telnet tried the connectivity:

telnet peer01.example 7052 and telnet 172.18.0.8 7052, with IP address it gets connected but with domain name it does not.

  1. Verified chaincode environment variables: The chaincode is using the correct peer addresses (peer01.example:7052 and peer02.example:9052). I checked the yaml files for the test-network, its the same what's given in the GitHub of fabric-samples.

  2. Looked into Docker network issues: Inspected the docker network fabric_test, all peer appears to be in this network with proper name.

发布评论

评论列表(0)

  1. 暂无评论