00:00
好,接下来我们再专门说一下交易里边的guess guess,其实呃,之前我们说了太多,就是跟交易相关的东西,Car盖S在我们做交易的时候呢,也是一遍一遍都都会给大家再再说,诶,这个gas limit是多少,我们给多少的GA price,那在这里呢,就是再跟大家强调一下,然后跟大家再解释一下这个GA的本质。Guess的本质到底是什么?我们一开始的时候很容易就是把它理解成这就是手续费,呃,我我们确实这么理解,我觉得也是可以的啊,可以理解的,但是事实上gas,我们所说的GA和最后交易的那个gas fee,或者说是就是呃,他所说的transaction费,交易费。其实是不同的概念。我们所说的guess消耗的guess。
01:01
这其实指的是我们在以太坊的虚拟机里边执行每个操作所消耗的成本,其实主要指代的是硬件的资源成本。呃,大家如果接触过一些,呃,比方说那个服务器或者说数据库的话,可能接触过一个概念,应该叫。呃,应该叫什么。呃,这这这个概念可能可能不太好,不太好跟这个做类比,大家可以简单的把它想象成就是它在消耗算力。我们的整个以太坊是一个世界计算机,如果我们提交一个交易,去调用一个合约,那它的这个指令是在所有的节点上都要执行的,这是要消耗我们整个全网的算力的,那算力是很宝贵的资源啊,啊,那矿工他用这个算力去算哈希的话,挖矿那是有实际的收入的。
02:02
呃,但是他是不是耗电,是不是就是这种购币,我们另外说啊,但是对于矿工来讲,当然这个是这是他实实在在的收入,对吧,那如果我耗费我的算力为你去执行你的合约,执行你的请求,你的指令。那这也是消耗了我的成本啊,怎么样去衡量这个成本呢?衡量这个成本的单位就是GA。所以大家可以看到,Guess是交易发起人需要为EVM上每项操作支付的成本的名称,所以它其实是就是这一个操作的成本,是这样一个概念。发起交易的时候。那我们是,我们既然是发起交易需要成本,那我们一开始的时候就要从矿工那里用以太币去购买这个成本,所以购买的这个东西是GA。当然了,我们平常发送交易的时候,这个guess不需要我们单独再再去做一个动作,说我要买guess,不用我们把这个怎么样做呢?就是先请定在我们的GA limit里面,就是说我最多要花费这么多,然后GA price给一个单价,那所有的这些只要我们指定了,在交易发生的时候,从矿工那里购买gas的过程,其实是一个自动自动化的过程,对吧,我们不用去关心说,诶那个以太币是怎么样换成盖的呢?这个都是以太坊内部机制自动去完成的。
03:37
呃,这里再跟大家解释一下,就是下面这一段可能稍微有点,就是稍微有一点生生涩啊,跟大家解释一下,就是说为什么这么设计guess,它跟以态的不同在哪里,大家可以想一下。以太是整个系统当中内置的一个数字货币,它是有价值的。
04:00
那guess呢?Guess应该也是有价值的,对吧,为什么就是以太坊的这个设计里边,他不把guess,就为什么单独提出一个guess的概念来。为什么不直接就是说我这就是一笔手续费,你就你就说吧,每每次发一发一笔交易,你付多少以下的手续费,这不就完了吗。为什么还要有盖这么一个概念呢啊?啊,接下来这一段其实就是要解答这个问题啊,大家可以先看一看它是怎么解释的啊,当然这个这是我直接根据这个,呃,就是官网的说法去去做的这个翻译啊,所以就是看起来还是不太好理解,我再给大家做一个这种就是我们这种口语化的解释啊,就guess它和以太不一样的地方是它本身指代的是我们计算资源的一个消耗,对吧,是我们硬件成本,但大家可以可以理解成就是这是硬件的消耗,耗了我们的算力的东西,所以它对应的是我们的系统资源,对应的是我们的算力。
05:09
这是一个自然的成本,就像我们说挖矿,它它是有自然成本的,为什么它耗电了对吧?3D直观的呃概念,它就是耗电的一个一个事情,所以说这是有自然成本的。而以太币不一样。以太币的产生完全是虚拟的。而且就是它这个以态产生多少,这都是我们提前就设设定好的。就是,呃,当然就是提前设定好,我们也可以改,所以这都是人为去设定,可以去更改的东西,所以大家可以看到以太币的价格就是在我们真实世界当中的价格,其实波动是很大的,它其实是看我们大家对它的认可程度,对整个以太坊项目的认可程度,这个会随着市场有着有着很大的这个价格波动啊,那guess作为一个就是真正它跟消耗系统的资源相关的一个东西。
06:09
以太坊在最初设计的时候就觉得,那你这个东西不应该有那么大的价格波动。我不能说,因为这段时间大家吵一吵的欢,呃以太以太的价格特别高,一个以太到了到了好几千块钱,上万块钱,我我现在该我一笔手续费就特别高,呃,这个这个是不合理的,就是以太坊的设计是是有这样的一个初衷的,而他的它所对应的是什么呢?就是我盖指代的是什么,我这一笔交易,我对这个合约的执行,它消耗了多少计算资源。消耗了多少电,或者说那这个其实是一个固定的东西啊,啊,所以我们这个盖应该跟以态是不一样的东西,简单说就是就是这样。可能即使成解释也还是听不太明白是吧?呃,所以大家可以理解,就是说他跟guess跟以太,从最初的想法上就觉得他们是不同的东西,以菜是大家可以炒的,Guess是大家不应该炒的。
07:13
还是对对就是,但是呢,它们两个中之间又必须得有关系,因为你如果要是不把它们关联起来的话,那guess就是另外一种新的虚拟货币了,相当于对吧,那获取盖的途径那就又有问题了,大家大家怎么样去获取guess呢?那还是要不你拿以太去买,要不那就拿拿人民币拿或者拿别的币去买,你如果拿别的去币去买的话,那有可能又会把它价格炒高了。呃,所以那没有办法,他还是尽管是设计上结耦了,但是价格上它会跟以太去做一个关联,那怎么样去跟以太做关联呢?就设定一个GA price,所以它的方法就是这样,对对对对,所所以非趁的一个理解啊,就可以理解盖但大家学这个,这是属于政治经济学还是什么什么样的概念啊,就是说就是有这个价值和价格的概念吧,就是所谓的这个价格要围绕着价值上下波动啊,怎么怎么样的,那价值它的根本可能是以所谓的使用价值来衡量的,那大家可以想guess它本身是有使用价值。
08:31
本来它就是就是有这么多的用,它就要耗这么多的算力,耗这么多电,它的价值根本性的在这儿,但是它实时的那个价格呢,那就不好说了,就是现在为什么有时候咱们需要付更高的就是GA price要要给更高的手续费,就是因为现在有可能拥堵啊,有可能交易太多啊,矿工他打包都来不及他有所选择,那所以这个时候他就他就在市场当中占了主导权了。这就所谓的呃,那个供供供需关系啊,这应该是什么,就是呃供不应求或者是对吧,就是你的你的供应对过量或者说是不足的时候,那它的价格就会就会涨或者跌,所以我们的GA price是相对于以太的一个价格的波动。
09:17
但是它跟场币没关系,就是所以是这样的一个一个设计啊,所以就是说大家看到盖对以太的这个价格是自由市场来调节的。那是谁跟谁互相调节呢?对手方就是,呃,一方面是矿工,矿工相当于是卖GA的人,卖方,然后买方呢,就是我们要发起交易的人,所以我在以太坊上提交交易的人,呃,所以这个价格实际上是旷工来决定的,他他卖多少钱他说了算吗?呃,他怎么样去决定这个盖的价格呢?其实它的做法就是他给他的出块的这个设置,设定一个最低能够被他打包的交易的GA price的一个限制。
10:04
就比方说我设一个低于2G尾的GA price,我根本就不理你,这个交易我直接当费交易一样,说你没过我的验证。那这个这个交易就至少在我这儿,他是绝对记不了块的,所以大家这就是为什么我们说如果想让自己的交易能够更快的被确认,更快的去去执行的话,就是最好是把那个price调高一点,调高一点至少就是呃周围的呃,只要是有矿工,他看到你这一笔交易,他都不会拒绝,他至少把你都加进来去算,但是至于他能不能打出打包出块,那就是另外一回事了,所以也不见得说我们说给了十纪委的GA price,他那个被确认的速度就一定比一纪委的那个要快,这还真不一定。但是你如果要是你一直用实际委的这个price去发的话,那平均下来肯定是要快很多的,这这是肯定的,当然了成本就高嘛,最后当然就是说。
11:07
刚才我们已经说过的啊,不需要专门去购买盖。呃,我这里有一个地方,这个这个手直接那个机器翻译的,我都没改过来啊,这个购买器我不是购买器啊。就是客户端在发送交易的时候,会自动去用以太币来购买。而以太币本身的价格,那是由于市场而波动的,这就是我们说这个币市,它这个变化比较大,所以大家感觉是不是。是不是以太坊有点过度设计了,对吧?有些地方大家可能会有这样的考量,呃,但是盖的这个设计在后面大家会看到,就是很多地方它对这个限制我们资源消耗上面是有很重要的作用的,你如果直接没有所谓的这个GAS1米的这个限制的话,你直接说就是你不能发多少个以态,那这个其实就会有问题。
12:08
就是它的衡量就没那么直观了,大家可以想到就是呃,我为了不让我的这个区块里边包含的交易过多,或者说我为了不让你一笔交易消耗的系统资源过多,导致我们这个系统资源被你一个人占用。它设置了盖厘米对吧,如果我们没有盖的话,就用以太当手续费,怎么样去限制这个。如果要是以太当手续费的话,那其实就只能是说我们发一笔交易,然后附带上一个手续费,我说手续费多少,以太矿工看到手续费高的,他可能优先去打扣那个打包上来,对吧?但是我们完全没法衡量他在执行的过程当中到底要消耗多少资源。有可能你给了一笔很高的手续费,但是你那个里面跑了一个死循环。
13:00
矿工一看,诶,储蓄率高啊,很好,拿过来吧,结果他机器永远算不出来了,那那这个是不是很坑,这个是反而是我们整个系统里边资源的一个更大的浪费,或者说对这是这是对我们整个系统的稳定性,健壮性是非常不利的。所以出于这样的考虑,他要把我们真正消耗的资源要分离出来,这个东西用get来表示,但是他还还必须得有价值,必须得有价格,那这个价格还是得跟以太挂钩,所以再有一个GA price。这里就是这样多说一些,可能还是大家就是理解上会觉得有些绕,还是呃,我们就之后在应用当中,在不停的这种接触和转账,自己做开发的过程当中,再再多去理解这样的一个事情,呃,这里再多说一下这个盖计算啊,这个其实大家基本上都已经知道了,所以我们就是过一遍这个内容就可以跟大家再确认一下,复习一下,相当于发起交易的时候,该的所谓的GA limit,并不是我们直接就是最后支付的GA的数量,而是给定了一个销。
14:11
我们允许消耗盖的上限。我们可以理解成这里是一个押金。就是我们放了这么多押金放在这里了,最多你可以把这个全给我扣了。而实际支付的GA数量是我们真正在跑,我们的这个交易,就是执行过程当中消耗的GA,一般表示的时候就用这个guess use来来表示。那GA limit如果要是比GA used大的话,我们一开始提供的押金如果多的话,那肯定就多的就退回来了嘛,押金是可以退回的,所以大家不用去担心这个,呃,盖利的给的太大,呃觉得这个诶是不是到时候这个就扣我手续费多,这个不会是跟我们真正的部署,部署的合约,他里边要消耗多少,或者说是我们的这一个转账的这一个过程需要消耗多少,盖来来决定我们的手续费的,对自己是可以定的,来我们来看一下,嗯。
15:15
呃,是说衡衡量这个盖厘米的是吧。好,这个是有另外的一个一个专门的考量的,就是而且有很多的工具可以去专专门测算自己的一笔交易大概能消耗多少,就是guess,这是有专门的工具的,大家如果感兴趣的话,之后可以再讲啊,我们这里是就是先给大家确认这些概念,大家你看在散的时候,这里有盖费这一项,对吧。这是我们就是要附的这个GA费,点开编辑,上边是GA price,下面是GA limit的这个是不是可以改,哎,但是大家看这里,我如果给变小的话,下面它来了一行说get limit must be at least 21000。
16:05
这是为什么呢?是因为以太坊里边如果执行一个除了转以太币是别的什么都不做的操作,他要消耗的GA就是21000,对,所以我们即使别的什么都不做,就单纯的一个消耗一个这样的操作,那就是21000个GA,这个是固定的,呃,如如果我们还想给的比这个更少的话,那就不可能,但大家这个就看ma ma直接就就报异常了,就不让我们发这个交易,你发了也白用和乐队。对,就是合约的,呃,你你指的是合约在部署的时候的该limit米还是说对,因为部署的时候也是我们要发起一笔交易,所以只要是交易这些都可以自己去设,所以一般情况下,如果大家就是用了那个专业的工具,如果大家想要布一个很复杂的合约的话,那可能要用专业的工具去看一下我们这个布这个合约大概消耗多少该那那这个地方可能要估一个差不多的一个GA limit。
17:10
平常的话,如果我们都是简单合约,那一般就把这个给的足够高就可以了,所以这就是平常的一个,反正多了东西用不完会退回来嘛,所以这个是没关系的,呃,当然有时候到时候大家遇到状况可以再说啊,就是有时候会发现给的太高的话,反而也会有问题,是为什么呢?就是给的太高的话是会超过区块的那个盖B的限制,那个时候就就反而会被提提示说你这个你这个给的太高了啊,对对对,反而会被拒绝,所以这个就是大家遇到遇到的时候就会就会知道这是怎么回事了,嗯,好,我们再再过一下下的东西啊,剩下的这个其实大家都已经知道了,就是我们最终手续费支付的手续费是什么呢?最终支付的手续费其实就是这个total cost total costs的是我们用掉的消耗的GA。
18:10
Get used。这是数量,盖的数量,然后要乘以盖的单价,盖的单价就是我们刚才指定的那个盖price,所以单价乘以数量,这不就是总总总数吗?总价吗?这个总价才是我们最后。支付给矿工的手续费,也就是我们在easter sky里面查出来的那个所谓的transaction transaction fe,所以这就是我们GA的一个计算的过程,大家在以后这个发币转账的时候,如果对这个很很感兴趣,大家在在意这个的话,就多看一看,自己也多算算,看看是不是这么回事。
我来说两句