Skip to content

Commit

Permalink
Update resource.md
Browse files Browse the repository at this point in the history
  • Loading branch information
vivian1912 committed Sep 20, 2024
1 parent 96e94c5 commit 25ec9c5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/mechanism-algorithm/resource.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ B: 30_000_000_000 且energy_limit 为30_000_000_000
合理设置feeLimit,一方面能尽量保证正常执行;另外一方面,如果合约所需Energy过大,又不会过多消耗调用者的trx。在设置feeLimit之前,需要了解几个概念:

1. 合法的feeLimit为0 - 15*10^9 之间的整数值,单位是sun,折合0 - 15000 trx;
2. 不同复杂度的合约,每次正常执行消耗不同的Energy;相同合约每次消耗的Energy基本相同[^1],但由于动态能量模型机制,对于热门合约,不同时刻执行时可能需要的能量不同,具体请参考[动态能量模型章节]();执行合约时,逐条指令计算并扣除Energy,如果超过feeLimit的限制,则合约执行失败,已扣除的Energy不退还;
2. 不同复杂度的合约,每次正常执行消耗不同的Energy;相同合约每次消耗的Energy基本相同[^1],但由于动态能量模型机制,对于热门合约,不同时刻执行时可能需要的能量不同,具体请参考[动态能量模型章节](#_10);执行合约时,逐条指令计算并扣除Energy,如果超过feeLimit的限制,则合约执行失败,已扣除的Energy不退还;
3. 目前feeLimit仅指调用者愿意承担的Energy折合的trx[^2];执行合约允许的最大Energy还包括开发者承担的部分;
4. 一个恶意合约,如果最终执行超时,或者因bug合约崩溃,则会扣除该合约允许的所有energy;
5. 开发者可能会承担一定比例的Energy消耗(比如承担90%)。但是,当开发者账户的Energy不足以支付时,剩余部分完全由调用者承担。在feeLimit限制范围内,如调用者的Energy不足,则会燃烧等价值的trx。[^2]
Expand Down

0 comments on commit 25ec9c5

Please sign in to comment.