NetworkParameters中设置的maxTransactionSize是否包含附件?

时间:2019-05-16 00:16:15

标签: file attachment corda filesize

NetworkParameters中设置的maxTransactionSize是否包含附件?

在这种情况下,我需要发送一个大文件作为附件,并且我想确保它小于网络参数强制执行的maxTransactionSize。

1 个答案:

答案 0 :(得分:0)

计算时,

maxTransactionSize 包含附件。

如果您想看看自己,可以在-WireTransaction.checkTransactionSize:https://github.com/corda/corda/blob/master/core/src/main/kotlin/net/corda/core/transactions/WireTransaction.kt

中完成计算

不幸的是,暂时暂时将maxTransactionSize的每秒10mb硬编码为:

 @property maxMessageSize This is currently ignored. However, it will be wired up in a future release.

这是一个有趣的实现,因为在初始事务中未发送文件。实际上,事务本身仅包含文件的哈希。文件仅在需要时发送到请求节点

仍然,maxTransactionSize大的问题在于,所有节点必须将整个文件读入RAM,如果它们的RAM不足,则会导致某些节点无法验证大量事务。

正在分块文件并启用任意大小的附件!