以太坊的 Gas 机制
以太坊对智能合约的影响是深刻的,即使不用以太坊,只要做智能合约开发,就避免不了要学一下以太坊。而学习以太坊的第一天就肯定会碰到的概念就是 Gas ,这个就是咱们今天的主角,理解了 Gas 机制也就基本理解的智能合约的工作原理了。文章中首先介绍以太坊的账户和交易,以便介绍清楚智能合约工作的基本上下文,或者说让大家理解 Gas 使用的场景,接下来聊聊 Gas 的工作原理,让大家理解为啥已经有了以太币还要有 Gas ,最后深入到细节聊聊 gasPrice 和 gasLimit 这些交易参数的实际作用。 账户和交易 先进入第一部分,聊聊以太坊账户的分类,以及通过在各个账户间发交易都能完成哪些工作。 以太坊账户其实是分两类的。一类是普通账户,也被称为外部拥有账户,因为账户的拥有者在以太坊系统本身之外,是自然人。普通账户就类似于比特币账户了,两个普通账户之间可以发交易,但是交易的功能就基本局限于转账了。但是以太坊上还能发一种特殊的交易,叫做合约创建交易,这种交易的特点就是只有发送方,没有接受方,同时发送交易的时候也伴随着有代码上传到区块链。这种交易一旦发出,就会在以太坊系统上创建一个新的账户。这就是我们要介绍的第二类账户了,叫做合约账户。合约账户跟普通账户的区别是,合约账户是以太坊系统所拥有的账户,或者说账户的拥有者是机器,而不是自然人。另外,合约账户最大的特点就是内置代码,你肯定能猜到