我已经运行了Corda IOU示例,在扫描H2数据库后,我在h2数据库中找到表IOU_STATES。我将值从50更改为70。然后刷新Ui,但在UI上它仍然显示值50...我需要知道corda存储数据在H2或任何本地存储中的实际位置……VaultQueryBy如何从本地或H2检索它?那么如何在UI上显示未被篡改的值呢?
编辑:通过SQL语句改变状态中的值后,不会反映在UI上。调用VaultQueryBy...My的UI默认调用接口的问题是,即使我在数据库中更改了值,它在同一节点上仍然显示未被篡改的值...?
Thnx
发布于 2018-08-13 22:40:43
实际状态本身存储在NODE_TRANSACTIONS中,作为创建它作为输出的事务的blob的一部分。
还会存储有关状态的数据:
VAULT_STATES中的
VAULT_FUNGIBLE_STATES中的blobFungibleAsset接口,作为<代码>D10中的blobLinearState接口,作为一个或多个用户定义的自定义表中的blob<代码>H113,如果状态实现了QueryableState接口,作为一组人类可读字段
在示例CorDapp中:
IOUState实现了QueryableState接口,以便将其数据以人类可读的形式存储在名为IOU_STATES的自定义用户定义表中(请参见https://github.com/corda/cordapp-example/blob/release-V3/kotlin-source/src/main/kotlin/com/example/schema/IOUSchema.kt#L23)VAULT_STATES表加载数据,方法是从VAULT_STATES获取事务ID和输出索引,以在正确的事务blob中定位正确的状态
因此,您的更改不会反映在前端。
https://stackoverflow.com/questions/51824113
复制相似问题