Hyperledger Fabric Java Chaincode(Maven)部署失败了:“地址的类型 我正在尝试使用测试网络(Fabric_test)在HyperLeDger织物上部署Java链代码。我的Java项目是一个Maven项目,使用的Java版本为11。我正在运行Hyperledger Fabric ve ...

问题描述 投票:0回答:0

Https://github.com/hyperledger/fabric-samples/tree/main/main/asset-transfer-basic/chaincode-java/src/main/java/java/java/org/hyperledger/fabric/fabric/samples/samples/assettransfer,

https://github.com/hyperledger/fabric-chaincode-java/tree/main/main/examples/fabric-contract-example-maven
  1. 我正在遵循Hyperledger Fabric Docs
  2. -
  3. https://hyperledger-fabric.readthedocs.io/en/release-2.5/deploy_chaincode.html中描述的部署过程:
  4. 包装链代码
将其安装在两个组织(

Org1

Org2)上

为每个组织批准它
    这些步骤都成功了。但是,在
  1. 工具阶段
  2. 期间,监视Fabric_test(./monitordocker.sh Fabric_test)给出了错误。
  3. 在实际的
    commit
    命令之前,我使用以下方式检查了承诺。
    peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name mychaincodejava --version 1.0 --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" --output json
    
  4. 注:$ {PWD}指向我的
  5. test-network
  6. 文件夹 IT给出输出:

{ "Approvals": { "Org1MSP": true, "Org2MSP": true } } 然后使用

commit

命令给出以下错误:

peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name mychaincodejava --version 1.0 --sequence 1 --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" --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"

eRror:

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

我做了这些追随者,以尝试解决它:

检查了连接:
同行可以相互通信,并且所有容器在提交步骤之前都运行。使用Telnet尝试了连接:

telnet peer0.org1.example.com 7052
telnet 172.18.0.8 7052

,随着IP地址的连接,它可以连接,但没有域名。

verified链码环境变量:
链代码使用正确的对等地址(peer0.org1.example.com:7052 and peer0.org2.2.example.com:9052)。我检查了YAML文件中是否有测试网络,与织物示例的Github中给出的文件相同。
toy to Docker网络问题:

检查了Docker Network

fabric_test
    ,所有的同行似乎都在此网络中都有适当的名称。
我认为来自依赖关系的服务文件未正确合并到链代码脂肪罐中,并且正在为GRPC地址配置错误的默认URI方案。默认值应为

dns

您可以通过与
ServicesResourCetransFormer
.

    对于Gradle用户,等效的是为Gradle Shadowjar插件配置
  1. unix

hyperledger-fabric hyperledger hyperledger-chaincode
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.