熵消耗说明

熵 获取方法与 熵 消耗公式

开发人员可以通过冻结VS获得熵来获得动态分配的熵(冻结/网络总数*总可用,目前为1000亿),或直接燃烧VS以获得固定熵(目前1 熵= 10 vdt)。

在正常情况下,这两种策略都应该为智能合约的部署/执行提供足够的熵。但是,由于设置了 fee_limit 的方式,如果开发人员冻结过多的VS 熵,该帐户的熵计算将与冻结模型绑定。该帐户可以使用的最大熵限制为 fee_limit(最高1000 VS)/总网络冻结VS * 1000亿。如果命中上限,则会抛出 OUT_OF_ENTROPY 错误,而不会燃烧VS。如果冷冻的熵不是太多,则可以将两种策略结合起来以考虑总的使用熵。

计算公式:

const R = Dynamic entropy Limit
const F = Daily account entropy from freezing VS
const E = Remaining daily account entropy from freezing VS
const L = Fee limit in VS set in deploy/trigger call
const T = Remaining usable VS in account
const C = Entropy per VS if purchased directly

// Calculate M, defined as maximum entropy limit for deployment/trigger of smart contract
if F > L*R
    let M = min(E+T*C, L*R)
else
    let M = E+T*C

开发人员不建议冻结过多的VS(没有必要,且对整个社区生态其他人不友好)。其他人员会被限制在较低的熵上限,除非直接燃烧VS。如果帐户处于这种情况并且需要部署大型合同,请尝试解冻某些VS或将VS转移到新帐户而不冻结能源。