以太坊中用于支付矿工的费用,也就是处理交易或执行智能合约(也是交易的一种)都需要支付合理必要的gas费,否则你的交易将无人处理。
N个gas,表示的是工作量,这个针对不同的操作工作量不同,但相对是固定的,可以通过以太坊黄皮书来查看。
Gas Price,表示的是你愿意为每个gas支付多少钱,单位是以太币,wei,gwei等。
gas费用 = gas数量 * gas price;其中gas数量是可以计算的、相对客观的,gas price是调用者可以调整、相对主观的。
如果是普通转账交易(不带额外数据),固定需要的单位为21000个gas,当然价格可以自己定。
如果是带额外数据,按字节收费,0字节4gas,大于0字节的68gas;黄皮书;
1、如果你的交易,提供的gas price被矿工接受,则交易被矿工放入交易池执行:在执行过程中,如果gas数量不足,则程序回滚,但gas 费不会退还;
2、如果你的交易,提供的gas price被矿工接受,则交易被矿工放入交易池执行:在执行过程中,如果gas数量超出,则多余的gas数量会自动退回到你的账户中;
3、如果你的交易没有被纳入交易池,gas费不会被消费,同时交易属于pending状态。
技术需要考虑的是:怎么让程序、代码和逻辑等,在满足功能的前提下,尽可能少的消耗gas的数量;
至于gas price,那是用户自身决定的事;
