问题描述
我正在尝试创建一个类似于 Safemoon 的硬币,并增加了反射类型,但我的朋友声称,因为我添加了另一个 for 循环,所以gas 费用会太高。
高计算税交易会导致更多费用吗?
我对 Big O 表示法略知一二,但我不是专家。有人可以详细说明 Pancake / BSC 如何根据每笔交易的计算需求确定收费多少吗?
谢谢
解决方法
高计算税交易是否会导致更多费用?
大部分是。 For 循环产生线性复杂性。
每次存储写入需要 5,000 gas,这是最昂贵的智能合约指令之一。因此,如果您的函数是可执行的(不是 view
或 pure
)并且有一个包含 10 次迭代的循环,每个迭代包含一次存储写入,那么用户将总共花费 71,000 gas(21k 基本费用 + 10 * 5k)。
有人可以详细说明 Pancake / BSC 如何确定收取多少费用
交易费用不由交易所计算。您的钱包会根据指令集(内存读取、存储写入等;可根据合约字节码和您的交易数据确定)和每条指令的 gas 价格(在网络中硬编码)来计算它。