Corda 一个科尔达州能与多个合同合作吗?
CORDAAPI没有显式地链接一个状态和它的契约,允许我在具有相同状态类的不同事务中使用不同的契约Corda 一个科尔达州能与多个合同合作吗?,corda,Corda,CORDAAPI没有显式地链接一个状态和它的契约,允许我在具有相同状态类的不同事务中使用不同的契约 transactionBuilder1 .addOutputState(MyState(), MyStateContract::class.qualifiedName!!) ... transactionBuilder2 .addOutputState(MyState(), SecondContract::class.qualifiedName!!) 在什么情况下我需要这种灵活
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 API的假设实现
@可互换
界面收缩状态{
val参与者:名单
val contractClassName:字符串
}
....
事务生成器
.addOutputState(MyState())
免责声明:
请注意,这是一个为什么的问题。我只是在寻找一个可能丢失的用例。一切都在为我工作。我不需要解决方法。是的,在Corda 3.x中,您可以引用给定州的任何合同;这可能是出于对灵活性的考虑 CORDA4.x通过允许您注释合同管辖的州,为您建立州和合同之间的链接。如果状态是契约类的内部类,则此关联是自动的
您可以阅读关于这方面的各种攻击面以及如何处理它们的讨论。是的,在Corda 3.x中,您可以参考给定状态的任何合同;这可能是出于对灵活性的考虑 CORDA4.x通过允许您注释合同管辖的州,为您建立州和合同之间的链接。如果状态是契约类的内部类,则此关联是自动的 您可以阅读关于这方面的各种攻击面以及如何处理它们的讨论