NetworkParameters中设置的maxTransactionSize是否包含附件?
在这种情况下,我需要发送一个大文件作为附件,并且我想确保它小于网络参数强制执行的maxTransactionSize。
答案 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不足,则会导致某些节点无法验证大量事务。
正在分块文件并启用任意大小的附件!