“使用附件”页面声明:
附件是通过哈希从事务中引用的zip/jar文件,但不包含在事务本身中。
但是,API:Contract Constraints页面声明:
transaction.addOutputState(state, constraint = HashAttachmentConstraint(serviceHub.cordappProvider.getContractAttachmentID(CONTRACT_ID)!!))
但是,在签出HashAttachment代码时,我没有看到它包含了契约Jar文件的内部内容。
我的假设是,我们不是在与交易一起转让合同罐子。所发生的情况可以描述如下:
VerifyConstraints(contractAttachmentsByContract)
并根据节点在其本地存储中的附件验证这些约束(例如,HashAttachmentConstraint)。问题:
附件没有在事务内部传输,这是正确的。事务仅包含对附件的哈希引用以用于数据引用。这也意味着附件可以跨许多事务重用,因为它们是在自己的数据库表中进行离链维护的。
当一个节点接收到一个包含它以前没有看到的附件的事务时,Corda会自动从对方获取附件:https://docs.Corda.net/tutorial-attachments.html#protocol
通常,事务上的附件是通过ReceiveTransactionFlow
自动提取的。
只要附件小于网络参数的maxTransactionSize:https://docs.corda.net/network-map.html#network-parameters
MaxTransactionSize:事务允许的最大大小(以字节为单位)。这是事务对象及其附件的大小。
如果我说一个事务B只有在它对以前的事务a有一些引用时才是有效的,那么我可以在事务B的附件中包含事务a的状态属性/合同代码吗?如何引用此附件,从何处检索?交易B的参与节点是否可以查看交易A的内容进行验证?
我尝试使用uploadAttachemnt方法上传zip文件,得到了一个secureHash作为输出。我试图下载相同的附件,使用hash作为openAttachmnet方法的输入,得到了一个InputStream。当我试图使用BuffeReader读取inputStream的内容时,它被加密了。我意识到我必须解压缩文件并读取它,所以我得到了这个包“import java.util.zip.ZipE
在corda文件中说,即使交易在合同上是有效的,在签署之前也应该检查交易的内容。然而,流似乎自动化了事务签名过程。< br >如何以及何时检查交易内容。
无论我找到什么链接,他们都在谈论更改web.xml或添加AppCong,我不确定在Corda示例项目中如何做到这一点。 小队请帮忙。
我在客户端有PayPal express签出,在使用支付ID启动回调后,我想在NodeJS端检查该ID。我使用JS SDK调用RESTfull API: https://developer.paypal.com/docs/api/payments/v1/#payment_get 我在下面看到这样的物体。 状态已批准,但==挂起 那么,我应该如何检查交易是否完成,资金是否转移给卖家以激活他/她支付的
这是我能够产生问题的代码。