如何使用Java绑定通过密钥获取合约



我有定义了key的Damltemplate。我正在构建一个Java服务,尝试使用bindings-rxjava访问Daml账本。访问模式是一个简单的CRUD,我一直停留在R(ead(部分。

我找不到如何使用Java发出fetchByKey请求。我已经看了一些例子,看看它是如何在这里的@daml/react例子中完成的。它使用JSON-API,并且是/v1/fetch端点。但我在quickstartjava和ex-java绑定repo中没有看到类似的请求。此外,两个示例都没有定义keytemplate

我能想到的唯一可行的解决方案(基于上面的例子(是为我的模板订阅ActiveContractsClient.getActiveContracts,然后将收到的合同存储在DB中,并从DB中按密钥获取。但与JS示例相比,这听起来过于复杂。

请给我介绍一个使用Java绑定通过键获取的工作示例。我可以使用任何JVM语言(Java、Kotlin、Scala、Clojure、Groovy(。

我也可以从Java调用JSON-API节点,但看不到任何绑定。在这种情况下,我是否一直在手动构建JSON请求?

"将接收到的合同存储在DB中并按密钥从DB中提取";是JSON API在配置DB时提供按密钥获取功能的方式。当您没有配置DB时,它会扫描所有getActiveContracts,直到找到匹配项。它并没有一个快速而简单的方法来通过键本身获取,这也是为什么在Java绑定中不存在这样的API的原因。

我建议遵循您所遇到的方法,使用限定符来存储分类账偏移量,并将偏移量与事务流一起使用以更新DB。(这也是JSON API更新数据库的方式,而不是从getActiveContracts开始。(

相关内容

  • 没有找到相关文章