我正在设计一个CorDapp,它需要用户输入和API集成,我正在考虑向外部世界公开流和库查询的各种方法。
默认选项似乎是使用Corda。除非我遗漏了一些东西,否则只有Java绑定,这实际上限制了客户机只基于JVM。这有点不方便,而且理想情况下,我希望像OpenAPI这样的东西可以使它更加开放,并且与实现无关。
另一种选择是使用某种Corda到OpenAPI代理。我知道辫子的事,我肯定还有其他的。Braid似乎支持将Corda服务与流打包到CorDapp本身,从而有效地将其嵌入到Corda中。
Braid也可以作为独立的代理来部署,我认为这是选项三。
我本能地发现嵌入式模式更有吸引力,因为它减少了移动部件的数量,而不是独立的模式。然而,我担心这样的模型可能会在某一时刻变得不受欢迎,这要么是因为code开发人员认为它是对服务设施的滥用,要么是因为一些组织不会热衷于将这样的代码部署到他们的节点上,特别是当它们可能运行多个CorDapps时。我可以想象,作为Corda的一部分部署的任何东西至少都需要更多的检查,因为这可能会影响到运行在那里的其他东西,而这反过来又会降低灵活性。
我想知道实际上推荐用什么方法与CorDapp集成?
编辑1:我知道技术上可以将一个4.3服务器嵌入到节点中,并从那里公开一个REST,至少在当前版本的Corda中是这样的(在编写本报告时为4.3)。问题更多的是,这样做是否是一个好主意,以及为什么。
发布于 2020-01-24 08:48:10
看看我在Stackoverflow上提出的关于CordApp前端的问题。这可能会有帮助。
以下是链接-
"Corda: Can we develop Dapps that will be run by IIS webserver to talk to Corda platform?“
你可以使用任何前端技术。
从Corda 3开始,后端必须是基于JVM的,原因有两个:
的RPC连接。
如果您真的需要用另一种语言编写后端,那么有几个解决办法:
的HTTP响应。
- This is the approach taken by libraries such as Braid
。
- An example of writing a JVM webserver in Javascript using GraalVM is available here: [https://github.com/nitesh7sid/cordapp-example-nodejs-server-graalvm](https://github.com/nitesh7sid/cordapp-example-nodejs-server-graalvm)
https://stackoverflow.com/questions/59885289
复制相似问题