【问题标题】:Can a Corda State work with several Contracts?一个 Corda 状态可以处理多个合同吗?
【发布时间】:2019-03-20 17:25:38
【问题描述】:

Corda API 没有显式链接状态及其合约,因此我可以在具有相同状态类的不同交易中使用不同的合约。

transactionBuilder1
    .addOutputState(MyState(), MyStateContract::class.qualifiedName!!)

...
transactionBuilder2
    .addOutputState(MyState(), SecondContract::class.qualifiedName!!)

在什么情况下我需要这种灵活性?将合约名称与状态一起指定会有什么缺点?

// A hypothetical implementation of Corda API

@CordaSerializable
interface ContractState {
    val participants: List<AbstractParty>
    val contractClassName: String
}    

....
transactionBuilder
    .addOutputState(MyState())

免责声明:

请注意,这是一个为什么问题。我只是在寻找我可能会丢失的用例。一切都为我工作。我不需要解决方法。

【问题讨论】:

    标签: corda


    【解决方案1】:

    是的,在 Corda 3.x 中,您可以引用给定状态的任何合约;可能是在考虑灵活性的情况下完成的。

    Corda 4.x 通过允许您注释合同管辖它们的状态,为您建立状态和合同之间的链接。如果状态是合约类的内部类,则这种关联是自动的。 Relevant documentation.

    您可以阅读关于这方面各种攻击面以及如何处理它们的讨论HERE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-30
      • 2012-10-24
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多