如何将参与者添加到现有的 Corda 状态,并确保他们收到更新?
how to add a participant to an existing Corda State, and ensure they receive updates?
这是一个示例场景:
甲方在乙方拥有Corda节点和身份之前收到乙方的数据。 A 方使用 B 方的临时字符串标识符临时管理其共享状态。当 B 方启动节点时,A 方需要使用 B 的身份更新共享状态(将 State 中的临时 ID 替换为 Party 引用)。
在这一点上,B 应该知道这个状态,如果有任何变化就会收到更新。确保这最后一部分的正确方法是什么?
您将创建一个交易:
- 输入使用临时字符串标识 B 的共享状态
- 输出相同的共享状态,但 B 使用
Party
对象标识并添加到参与者
作为参与者,B 将收到作为 FinalityFlow
的一部分的交易。
您需要考虑如何处理状态中的字段可以是标识符字符串或 Party
对象这一事实。部分选项:
- 有两个总体状态的子类,因该字段不同
- 在同一个文件中有可为空的字段
- 定义一些包装标识符或
Party
对象的类型
这是一个示例场景:
甲方在乙方拥有Corda节点和身份之前收到乙方的数据。 A 方使用 B 方的临时字符串标识符临时管理其共享状态。当 B 方启动节点时,A 方需要使用 B 的身份更新共享状态(将 State 中的临时 ID 替换为 Party 引用)。
在这一点上,B 应该知道这个状态,如果有任何变化就会收到更新。确保这最后一部分的正确方法是什么?
您将创建一个交易:
- 输入使用临时字符串标识 B 的共享状态
- 输出相同的共享状态,但 B 使用
Party
对象标识并添加到参与者
作为参与者,B 将收到作为 FinalityFlow
的一部分的交易。
您需要考虑如何处理状态中的字段可以是标识符字符串或 Party
对象这一事实。部分选项:
- 有两个总体状态的子类,因该字段不同
- 在同一个文件中有可为空的字段
- 定义一些包装标识符或
Party
对象的类型