我有定义了key
的Damltemplate
。我正在构建一个Java服务,尝试使用bindings-rxjava
访问Daml账本。访问模式是一个简单的CRUD,我一直停留在R(ead(部分。
我找不到如何使用Java发出fetchByKey
请求。我已经看了一些例子,看看它是如何在这里的@daml/react
例子中完成的。它使用JSON-API,并且是/v1/fetch端点。但我在quickstartjava和ex-java绑定repo中没有看到类似的请求。此外,两个示例都没有定义key
的template
。
我能想到的唯一可行的解决方案(基于上面的例子(是为我的模板订阅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
开始。(