1

我在通过多个帐户进行“快速”资产转移时遇到问题。例如,我有 3 个账户:A、B(无资产)、C。我将一些资产从 A 账户转移到 B 账户,然后查找“A->B”交易(/transactions/info/{id}) . 如果发现交易,我将相同的金额从 B 账户转移到 C 账户。在大多数情况下,一切都很好,但有时我会收到错误消息:

StateCheckFailedException:状态检查失败。原因:尝试转移不可用资金:交易申请导致负资产“IssuedAsset(...)”余额为(至少)暂时负数状态,当前余额为0 ...

如果我等待 10 秒,例如,“B->C”传输将成功。所以,看来我应该等待节点中账户余额的一些同步。

在我的情况下,是否有任何保证方法可以在不等待不确定时间的情况下进行“B->C”转移?“A->B”交易在区块链中的存在有时不起作用。

我使用自己的节点进行广播交易。节点的配置是默认的。版本 1.1.7

4

1 回答 1

1

这是由于微块的事实。微区块确实转移了资金,但尚未永久确认它们,因此尚未完全进入区块链。如果你想完全确定,我会说,等待 1 个块(或 60 秒)。但即便如此,它也可能并不总是得到证实,因为即使是 wavechain 也有一些时刻,它会在几分钟内被数千笔交易超载。

这与创建资产等其他操作相同。

于 2020-02-24T08:39:38.563 回答