我知道Corda正在删除其Web服务器模块,并且在文档中他们建议使用其他框架。
在一个示例(“ spring-observable-stream”)中,他们将Spring Boot用于服务器端API,并对实际运行的Corda节点使用RPC调用。很好,可以与我要做的事情相提并论。
在该示例中,作者将导入特定的Corda的RPC代码以及所需的实际流程(和状态)代码。
我在这里想问的是,是否有可能避免这种纠缠,并通过使用常规RPC库来使Web服务器API与实际Corda / CordApp的代码保持独立(任何建议?)。
相反,如果我必须导入特定于Corda的代码(有原因吗?),我想问你:
老实说,我对与CordApp交互的更通用的方式感兴趣(例如,从Python),但是我知道由于AMQP集成尚未准备好,我们现在必须继续使用JVM。因此,随时可以从Kotlin(我必须将其用于短期PoC)中回答我们今天需要做的事情……
先感谢您!
当前,您的服务器必须依赖Corda RPC库才能通过RPC与节点进行交互。Corda尚未公开用于通过RPC发送和接收消息的独立格式。
您的服务器还需要依赖于任何CorDapp,这些CorDapp包含服务器将通过RPC启动的流,或者包含将通过RPC返回的类型的流。否则,您的服务器将无法启动流程或反序列化返回的类型。
如果您使用的是Gradle,则最小依赖项块如下所示:
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
cordaCompile "net.corda:corda-rpc:$corda_release_version"
compile "com.github.corda:cordapp-example:release-V1-SNAPSHOT"
}
在这里,我们依赖于corda-rpc
库,并且还使用JitPack依赖于CorDapp,在CorDapp中定义要通过RPC启动/返回的流程和状态。
如果需要,您可以对CorDapp进行模块化,以使RPC需要依赖的所有类都包含在单独的模块中,并且仅依赖于该模块。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句