参考代码: -
GIT克隆网址: - git clone https://github.com/corda/cordapp-tutorial
发布M14: - git checkout -b release-M14.0
我对Corda中的数据流动有点困惑。我有一些数据库相关的查询:
数据库结构是固定的还是我们可以在其中添加自定义表格?
当我在VAULT_CASH_BALANCES中看到现金交易时,我在哪里可以看到表格中流动的数据? 在我的H2数据库客户端中的表,但除了现金,我无法看到我的其他transactiosn的任何细节,即如果我 保存一个字符串然后我无法获取信息,我只获得该事务的Id。 是否可以获得整个数据流图?
每次构建代码时都会创建Node和Vault表吗?
答案 0 :(得分:1)
您可以通过实现QueryableState
接口来定义每个状态类型在节点中的存储方式。实现QueryableState
的每个州类型都有自己的自定义数据库表。
有关示例,请参阅https://github.com/corda/cordapp-tutorial/blob/master/kotlin-source/src/main/kotlin/com/example/state/IOUState.kt。由于IOU状态实现了一个模式(在CorDapp的Kotlin版本中),你可以看到每个IOU状态的H2接口的发送者,接收者和值。
在当前实现中,节点的数据存储在已部署节点的persistence.mv.db
文件中。只要您运行gradlew deployNodes
,就会被删除。但是,如果只是通过运行gradlew jar
创建更新的CorDapp jar,则可以将更新的CorDapp jar从build/libs
复制到每个节点的plugins
文件夹中,该节点将使用新插件