以Corda节点作为Docker的序列化问题

时间:2019-03-29 07:39:03

标签: corda

我试图将corda节点作为docker作为容器运行。 码头工人代码:

    docker run -ti \
    --memory=2048m \
    --cpus=2 \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/config:/etc/corda \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/certificates:/opt/corda/certificates \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary:/opt/corda/persistence \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/logs:/opt/corda/logs \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/cordapps:/opt/corda/cordapps \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/node-infos:/opt/corda/additional-node-infos \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/network-parameters:/opt/corda/network-parameters \
    -v /home/dlt-acc-admin/corda/docker-images/node-notary/Notary/node.conf:/etc/corda/node.conf \
    -p 10002:10002 \
    -p 10004:10004 \
    -p 10045:10045 \
    -p 9002:9002 \
    corda/corda-zulu-4.0

当我尝试创建RPC连接时,出现以下错误:

a_2==$shiro1$SHA-256$500000$4WdM0Gi63LSSHqiM543f4Q==$NOYlBrHAQBwdeWtEpYRcznRUR02o2jor/OhRvn9/tnc=
[http-nio-8080-exec-1] INFO com.dlt.accelerator.serviceImpl.UserLoginServiceImpl - UserLoginServiceImpl >> createCordaRPCConnection params ==>>172.16.239.103==10008
[Thread-0 (ActiveMQ-client-global-threads)] WARN net.corda.nodeapi.internal.serialization.SerializationFactoryImpl - Cannot find serialization scheme for: ([636F726461010000], RPCClient), registeredSchemes are: [net.corda.client.rpc.internal.KryoClientSerializationScheme@22a6a670, net.corda.nodeapi.internal.serialization.amqp.AMQPClientSerializationScheme@3a06fb64]
E 05:28:57 56 client.run - AMQ214000: Failed to call onMessage
 java.lang.UnsupportedOperationException: Serialization scheme not supported.
        at net.corda.nodeapi.internal.serialization.NotSupportedSerializationScheme.doThrow(SerializationScheme.kt:19) ~[corda-node-api-3.3-corda.jar:?]
        at net.corda.nodeapi.internal.serialization.NotSupportedSerializationScheme.deserialize(SerializationScheme.kt:23) ~[corda-node-api-3.3-corda.jar:?]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-3.3-corda.jar:?]
        at net.corda.core.serialization.SerializationFactory.withCurrentContext(SerializationAPI.kt:66) ~[corda-core-3.3-corda.jar:?]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-3.3-corda.jar:?]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:86) ~[corda-node-api-3.3-corda.jar:?]

我使用的是Corda 3.3,但除了Corda 4.0之外,没有尾声图像。

我曾认为corda 4.0与3.x向后兼容。不是吗 升级不是当前要求,因此您可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:0)

您将需要针对Corda4.0重建客户端

当Corda升级到4.0时,序列化机制已更改。这里是关于Corda4.0序列化的文档:https://docs.corda.net/serialization-index.html

Corda4.0的最新序列化引擎与3.3不向下兼容。