邮件全文如下:
{code: 1012, message: "Transaction is temporarily banned"}
Run Code Online (Sandbox Code Playgroud)
这表明交易保存在 Substrate Runtime 内存池或类似性质的某个地方,但尚不完全清楚哪些可能的原因会触发此交易,以及最终的结果可能是什么。
例如,
1) 是否从给定帐户、IP 地址或其他地址发送了太多交易?是否达到了某个阈值?
2)交易实际上是否无效?
3) 使用“临时”一词表示延迟处理,而不是彻底拒绝交易。因此,这是否表明交易有效,但被延迟了?如果是这样,需要多久?
底物运行时的评论core/rpc/src/author/errors.rs并core/transaction-pool/graph/src/errors.rs没有更清楚地说明结果是什么。
前面mempool存在交易黑名单,可以触发该错误。具体来说,此错误意味着具有相同哈希值的交易是:
此外,在以下情况下可能会发生此错误:
交易到达 it's ,即导入到池中后longevity不会开采区块。TransactionValidation::longevity
默认情况下
longevity设置为u64::max,因此这通常不会成为问题。
无论如何,-ltxpool=log应该揭示有关此错误的更多详细信息。
交易只是暂时被禁止,因为在以下情况下它将被从黑名单中删除:
查看core/transaction-pool/graph/src/rotator.rs。