我们正在使用Corda 4和Springboot web服务器构建一个POC。
POC以PostgreSQL为数据库,在本地网络中以DEV模式运行。
为POC开发的CorDapp有四个节点-
上述所有节点都参与了一项交易。一笔交易由三种病毒组成-
当这三个流程都完成后,交易就完成了。
假设“交易1”已经启动,并执行"Flow 1“和”Flow 2“,对于"DEAL 1”,假设使用"IOUContract.class“。
由于新的需求,契约发生了更改,创建了一个新的契约类文件"IOUContractv2.class“。
现在应用程序有两份合同-
当我使用"BelongsToContract“注释将上述契约类链接到"State”时,编译器不允许重复使用相同的注释。
@BelongsToContract(IOUContract::class)
@BelongsToContract(IOUContractv2::class)
data class State(val iou: IOU,
val sender: Party,
val recipient: Party,
var recipient2: Party,
val state: WorkflowState = WorkflowState.NEW,
override val linearId: UniqueIdentifier = UniqueIdentifier(iou.bndId.toString())) : LinearState, QueryableState {问题:
发布于 2021-07-26 09:06:19
为了确保“你看到的就是我看到的”,我们在科达有“国家”。国家随着时间的推移而变化。这一演变是由一套规则所支配的。这些规则是在“合同”中写成的。在任何时间点,状态转换总是与一个契约相关联。正如您所提到的,您可能希望更改这些规则。在这种情况下,正如Alessandro正确指出的那样,你必须进行合同升级。由于您使用的是Corda 4,所以可以使用隐式签名约束来进行合同升级。按照以下步骤升级您的合同。
https://stackoverflow.com/questions/68500332
复制相似问题