Corda数据篡改尝试

Corda数据篡改尝试,corda,Corda,我运行了Corda IOU示例,在扫描H2数据库之后,我在H2数据库中找到表IOU_状态。我将值从50更改为70。然后刷新Ui,但在Ui上仍然显示值50…我需要知道corda在H2或任何本地存储中实际存储数据的位置。。。Vault QueryBy如何从本地或H2检索它?那么UI上显示的无阻尼值是什么呢 编辑:通过SQL语句更改状态中的值后,它不会反映在UI上。UI默认调用API调用VaultQueryBy…我的问题是,即使在我更改了DB中的值之后,它如何仍然在同一节点上显示未阻尼的值 Thnx实

我运行了Corda IOU示例,在扫描H2数据库之后,我在H2数据库中找到表IOU_状态。我将值从50更改为70。然后刷新Ui,但在Ui上仍然显示值50…我需要知道corda在H2或任何本地存储中实际存储数据的位置。。。Vault QueryBy如何从本地或H2检索它?那么UI上显示的无阻尼值是什么呢

编辑:通过SQL语句更改状态中的值后,它不会反映在UI上。UI默认调用API调用VaultQueryBy…我的问题是,即使在我更改了DB中的值之后,它如何仍然在同一节点上显示未阻尼的值


Thnx

实际状态本身存储在
节点_事务
中,作为创建它作为输出的事务blob的一部分

还将存储有关状态的数据:

  • VAULT_状态中
    ,作为blob
  • VAULT\u可替换\u状态中
    ,如果它实现了
    fungibleaset
    接口,则作为blob
  • VAULT\u LINEAR\u状态中
    ,如果它实现了
    LinearState
    接口,则作为blob
  • 在一个或多个用户定义的自定义表中,如果状态实现了
    QueryableState
    接口,作为一组人类可读的字段
在示例CorDapp中:

  • iostate
    实现
    QueryableState
    接口,将其数据以人类可读的形式存储在名为
    IOU状态
    的自定义用户定义表中(请参阅)
  • 用户界面正在从
    NODE\u TRANSACTIONS
    表加载数据,方法是从
    VAULT\u STATES
    获取事务ID和输出索引,以在正确的事务blob中找到正确的状态

因此,您的更改不会反映在前端。

Hi@Joel Thnx,请立即回复。正如您所说,UI正在从VAULT_加载数据,我同意。您还说过,该状态存储在VAULT_状态中,但当我扫描表时,我没有任何blob字段…VAULT ByQuey如何收集所有事务信息并显示在UI上。。。是否有任何文档可以帮助我更深入地理解这个概念detail@Joel节点\u事务没有任何输出索引,只有事务ID,它如何映射到vault\u状态?抱歉,我已经重写了上面的内容。输出索引和事务ID来自VAULT_状态表,而不是节点_事务表。