更新时间:2022-11-16 GMT+08:00
分享

Java SDK Demo相关使用问题

  1. 区块链应用端使用Fabric开源版本的java SDK还是使用华为的SDK?

    答:需要使用华为Java Demo中提供的SDK。

  2. 区块链应用端对接Fabric 2.0版本也使用Java Demo中自带的SDK 1.4.1版本吗?

    答:是的。

  3. 区块链应用端调用链代码报错:
    “Caused by: java.lang.NoClassDefFoundError: io/netty/internal/tcnative/SSLPrivateKeyMethod
    at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:827) ~[netty-handler-4.1.44.Final.jar:4.1.44.Final]
    at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:576) ~[netty-handler-4.1.44.Final.jar:4.1.44.Final]
    ...”

    答:Fabric SDK依赖的netty和原工程中依赖的版本不同导致,可以从jar包查询相关依赖的版本信息。

  4. 区块链应用端调用链代码报错:
    “failed because of: gRPC failure=Status{code=UNAVAILABLE, description=io exception, cause=javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem”

    答:区块链应用端和Peer节点建立SSL连接失败,需要使用Java Demo中自带的Fabric SDK版本。

  5. 区块链应用端调用链代码报错:
    “Expected only one set of consistent proposal responses but got testuser: 1000”

    答:区块链应用端向Peer节点发送交易提案背书失败,请检查链代码日志。

  6. 区块链应用端调用链代码报错:
    “Caused by: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V
    at io.grpc.Metadata$Key.validateName(Metadata.java:630) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$Key.<init>(Metadata.java:638) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$Key.<init>(Metadata.java:568) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:743) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:738) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$Key.of(Metadata.java:594) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.Metadata$Key.of(Metadata.java:590) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.internal.GrpcUtil.<clinit>(GrpcUtil.java:84) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    at io.grpc.internal.AbstractManagedChannelImplBuilder.<clinit>(AbstractManagedChannelImplBuilder.java:83) ~[fabric-sdk-java-1.4.1-jar-with-dependencies.jar:na]
    ...”

    答:Fabric SDK依赖的io.grpc和原工程中依赖的版本不同导致,请根据实际情况解决此冲突。

  7. 在ARM架构类型下使用JAVA SDK DEMO报错:

    答:Hyperledger开源社区提供的Java SDK不支持在ARM环境下使用。华为提供的国密加密SDK,增加了对ARM场景的支持,如果需要在集群CPU架构类型为ARM架构场景下使用JAVA SDK DEMO示例或真实业务应用,需要使用华为提供的国密加密SDK,获取方法:登录区块链服务管理控制台,进入“应用案例”,单击“国密加密SDK”中Fabric_SDK_Java的“下载”按钮。详细请参考国密加密

相关文档