如何更新corda中的状态

时间:2017-10-08 06:01:04

标签: corda

我已在corda中创建了采购订单状态。它已成功保存在Vault中。我的要求是更新状态中的状态字段。我找不到任何更新状态字段的方法。任何人都可以帮助我。一些代码的例子非常有用。

2 个答案:

答案 0 :(得分:0)

各州在Corda是不变的。您必须编写一个将旧状态作为输入并输出新版本状态的流程,而不是直接更新它们。

我们仍在开发一个简单的,预先安装的更新流中状态的示例。与此同时,有一本食谱可以向您展示如何从保险库中提取现有状态以及创建包含输入和输出的交易:https://docs.corda.net/flow-cookbook.html

答案 1 :(得分:0)

正如Joel所说,当您创建新的交易时,您需要将状态(您想要更改为CONSUMED)指定为交易输入。 状态本身就是消费。

以下是一个例子。

最终TransactionBuilder txBuilder =新的TransactionBuilder(公证人)                     .addOutputState(YourState,Your_CONTRACT_ID)                     .addInputState(this.stateAndRef)                     .addCommand(txCommand);