【问题标题】:How to create a service in corda to store arbitrary data in some arbitrary place in the node database and not inside the vault如何在corda中创建服务以将任意数据存储在节点数据库中的任意位置而不是保险库内
【发布时间】:2023-03-19 23:30:01
【问题描述】:

我想用存储库和corda中的所有东西做一个类似弹簧的服务,以便将一些中间日期存储在节点数据库而不是保险库中

我看到我应该使用@cordaService 而不仅仅是@service,但我在将它放在哪里、在客户端或流或其他任何地方都有问题。

这是project structure的截图

最后我希望能够在这里拥有类似的东西

@RestController
@RequestMapping("/corda-api") // The paths for HTTP requests are relative to this base path
public class Controller {
private final CordaRPCOps proxy;
@PostMapping
public Order addOrder(@RequestBody Order order) {
return orderService.save(order);
}

提前致谢

【问题讨论】:

    标签: java h2 corda


    【解决方案1】:

    如果您想在 corda 的服务中存储内容,那么正如您所提到的,您需要使用 @CordaService 类。请参阅https://lankydan.dev/2018/08/19/corda-services-101https://docs.corda.net/api-service-classes.html 了解更多信息。

    这将被一个简单地从服务获取值并返回它的流访问。然后客户端可以使用返回的值。

    【讨论】:

    • aha 好的,我需要像在春天一样在这里的某个地方创建一个 repo 吗?还是自动创建的?您能否在这里详细说明一下,并在这里给我一个完整的示例,以将某些内容持久化到数据库中?我还是有点困惑
    • 哦,抱歉,我错过了那部分。您可以使用 ServiceHub.jdbcSessionServiceHub.withEntityManager(请参阅这些文档 - docs.corda.net/head/api-persistence.html#jdbc-session
    • 啊哈,我明白了,谢谢。我在一个单独的服务类中做到了这一点。你知道我怎么能从我放在上面的@RestController 中调用它吗?我的意思是如何在控制器类中检索服务类?我希望坚持在 post 方法中被调用。
    • 目前无法从节点外部访问corda服务。为此,您需要编写一个委托给服务并调用所需函数的流程。
    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多