如果我说一个事务B只有在它对以前的事务a有一些引用时才是有效的,那么我可以在事务B的附件中包含事务a的状态属性/合同代码吗?如何引用此附件,从何处检索?交易B的参与节点是否可以查看交易A的内容进行验证?
假设您有一个stateB
,它仅在存在对给定事务的引用时有效。然后可以在stateB
中定义signedtransaction
类型的字段来保存引用。
在Kotlin:
class StateB(val txRef: SignedTransaction?) : ContractState {
override val participants: List<AbstractParty> get() = listOf()
override val contract: TemplateContract get() = TemplateContract()
}
在Java中:
class StateB implements ContractState {
SignedTransaction txRef;
StateB(SignedTransaction txRef) {
this.txRef = txRef;
}
public SignedTransaction getTxRef() {
return txRef;
}
@NotNull
@Override
public Contract getContract() {
return new TemplateContract();
}
@NotNull
@Override
public List<AbstractParty> getParticipants() {
return ImmutableList.of();
}
}
对signedtransaction
的引用可为空。因此,您可以想象这样一个工作流:您首先创建一个“无效”的状态B
--一个没有引用使其有效的事务的状态--然后通过一个事务演变该状态B
,该事务输出具有相关联的签名事务
的状态B
,使其成为“有效”的状态B
。
“使用附件”页面声明: 附件是通过哈希从事务中引用的zip/jar文件,但不包含在事务本身中。 但是,API:Contract Constraints页面声明: 但是,在签出HashAttachment代码时,我没有看到它包含了契约Jar文件的内部内容。 我的假设是,我们不是在与交易一起转让合同罐子。所发生的情况可以描述如下: 在节点启动期间,Corda扫描所有CorDapps,并将包含契约类的J
我尝试使用uploadAttachemnt方法上传zip文件,得到了一个secureHash作为输出。我试图下载相同的附件,使用hash作为openAttachmnet方法的输入,得到了一个InputStream。当我试图使用BuffeReader读取inputStream的内容时,它被加密了。我意识到我必须解压缩文件并读取它,所以我得到了这个包“import java.util.zip.ZipE
无论我找到什么链接,他们都在谈论更改web.xml或添加AppCong,我不确定在Corda示例项目中如何做到这一点。 小队请帮忙。
这是我能够产生问题的代码。
在corda文件中说,即使交易在合同上是有效的,在签署之前也应该检查交易的内容。然而,流似乎自动化了事务签名过程。< br >如何以及何时检查交易内容。
问题内容: 每当我要保留任何实体时,都会执行以下代码。看起来一切正常,但我不明白它是如何工作的! 上面的EntityManager是整个应用程序共享的单个实例。开始交易后;我只是说em.persist(entity)..hibernate如何知道它属于哪个事务! 假设我的应用程序上有10个并发用户,并且所有10个线程都在执行上述代码。因此,正在创建和提交10个独立的事务。但是我并没有将所有10个不