【问题标题】:Corda: Does transaction builder automatically add reference states in Corda 4.0?Corda:事务构建器会在 Corda 4.0 中自动添加引用状态吗?
【发布时间】:2019-06-17 23:51:51
【问题描述】:

关于 C4 中引用状态的问题:如果一个状态有两个 LinearPointer 类型的字段,那么 corda 是否会自动解析这两个指针并将它们添加到 tx.reference states即使没有添加到流代码中?如果是的话,corda 这样做的任何原因是什么?我指的是以下功能: https://github.com/corda/corda/blob/6769b00ed5249e2eb798428a35e54ab740cf3bee/core/src/main/kotlin/net/corda/core/transactions/TransactionBuilder.kt#L540

每次我们调用 addInput、addOutput 等时都会调用它。

例如:

data class IOUState(val value: Int,
                    val lenderParty: Party,
                    val borrowerParty: Party,
                    val lender: LinearPointer<IDState>,
                    val borrower: LinearPointer<IDState>,
                    override val linearId: UniqueIdentifier = UniqueIdentifier()):

我只想将贷方添加到参考状态,但我注意到 corda 在内部将借方添加到 tx。参考状态。

【问题讨论】:

    标签: corda


    【解决方案1】:

    是的!它确实会自动添加。

    如果您不希望将状态自动添加为引用状态,则只需在状态中添加线性 ID 而不是线性指针。所以让贷方成为线性指针,借方成为线性ID。这应该可以解决问题!

    自动添加 ref 状态的原因是为了给您额外的保证,即它们 1) 是最新的,并且 2) 具有经过验证的来源链。 而且,这样也可以很容易地被对方解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多