避免无限循环调用

避免无限循环

在Vision上部署复杂的Solidity合同,可能会执行超时,导致用户消耗该帐户的所有熵,直至费用限制。 每个交易所能允许的最大CPU时间量为50 ms(此处可通过天调节网络参数),导致在超时前消耗的熵最多为50,000(1熵= 1微秒)。 注意,该数字实际上是0~250,000熵,在FV节点上设置由于* maxTimeRatio = 5.0,放宽不同机器配置的超时上限。 OUT_OF_ENTROPY 失败可能会由于处罚导致高于250,000的熵消耗。

为避免超时执行,请尝试将大型合同分成较小的块,并根据需要相互引用。 为了避免无限循环,请注意常见的陷阱和递归调用。