VICOINDAO

Posted on Jul 04, 2023Read on Mirror.xyz

【财富密码】Gas知识与$eVMPX Mint教程:掌握区块链应用的关键步骤

这篇教程不仅是为了准备 $eVMPX Mint Rush 活动,还旨在教授大家如何设置关键的 Gas 参数。掌握了本教程后,您将在不仅限于 $eVMPX Mint Rush 活动,而且在日后的区块链应用中游刃有余。

请大家多多支持和关注Mr33🧐的努力,让我们一起探索和学习,共同成长!

 

在本篇教程你将学习到

1、链上交互如何有效设置gas,避免失败,卡链等情况。

2、怎么加速或者取消自己已经发送出去的交易。

3、在前端无法访问的情况下,如何通过链上合约直接交互进行mint。

4、在ETH goerli测试网实操通过链上交互 mint $eVMPX。

准备工作

1、准备好你的 Metamask小狐狸钱包

2、在水龙头领取ETH goerli测试网测试币

3、下载chrome实时监控gas插件

如何有效设置gas

有效的设置gas,可以让你控制成本,避免失败和卡链。许多人在链上交互时使用的gas都是小狐狸钱包自动设置的,然而你要在$eVMPX Mint Rush活动的gas war中胜出又或者要控制成本的话,这部分的知识是你必不可少的,Mr33🧐会从最基本的说起,授人以鱼不如授人以渔。

那么MetaMask的gas是在哪里设置的呢?看下图

 

我们首要理解的就是图3和图4中的三个参数:最大基本费用、优先费用、燃料上限。

在细说这3个参数之前,为了让大家更容易理解,先简单说下以太坊上gas的2个重要设定。Base Fee(基本费用)和 Priority Fee(优先费用),你发出一笔链上交互的总gas费用是由基本费用+优先费用组成的。譬如你基本费用是10Gwei,优先费用是1Gwei,那么这笔交互给出去的gas是小于等于11Gwei的(实际费用<=基本费用+优先费用),会有小于的情况是因为给的优先费用虽然是1Gwei,但是链上会依据整体的情况来扣你的,不一定会全部扣完。这里Mr33🧐不给大家太深入的讲,大家知道这个基本原理就够了,下面详解我们设定的这3个参数。

最大基本费用:这个参数是你这笔交互的最大gas是多少。例,设置成20Gwei的话,这笔交互的基本费用+优先费用一定会小于等于20Gwei。如果链上的其他交互都超过了20Gwei,你你这笔交互就会在pedding池中等待,其他交互一直比你高你就会一直等待,这就是平时说的卡链

**优先费用:**这个参数是你这笔交互给矿工的额外费用,矿工会对比链上谁给的优先费用高就先给谁上链。例,A用户和B用户都各自发出一笔交互,如果他们设置的最大基本费用相同,这时候决定谁先交互成功的就是他们设置的优先费用,谁给得多就谁先上链。

**燃料上限:**这个参数一般不要去改动,要改的话也是改大,千万不要改小。改小的话会导致你这笔交易燃料不够失败,而改大的话会并不会让你的费用增加,因为燃料用不完是会退还给你的。

懂了这些组成原理,可以得出结论:

控制成本的核心就是最大基本费用,设定好这个值,你的这笔交互的实际费用就不会超。

想上链快要给足最大基本费用,同时提高优先费用。可以做到快人一步。

燃料上限一般不用改,要改的话就改大,不能改小(除非你想失败)。

怎么加速或者取消自己已经发送出去的交易

如果gas war太激烈,已经发生了卡链的情况,怎么办?

这时候就需要你增加交互的gas来加速上链或者直接取消这笔交互。需要做到这2种操作,就必须知道一个参数Nonce**。**

Nonce 是用来标记这笔交互的一个号码,正常交互时,这个号码是不会重复的,但我们要做加速或者取消操作的话,原理就是发出一笔相同Nonce的新交互,把之前的顶掉。

 

加速上链:发了一笔Nonce相同的新交互,这个交互的内容跟之前卡链那笔一样,但是给的gas费比较高,这笔新交互上链时就会顶掉之前那笔。

取消:原理和加速操作是一样的。在区块链上,实际上没有真正意义上的“取消”。一旦你发出了交互操作,就无法撤回。因此,取消操作实际上是通过发送一笔与之前交互操作具有相同Nonce的向自己转账金额为0的交互来覆盖之前的交互。

原理明白之后,我们来实操,这里Mr33🧐推荐一个简单的工具来做,MCT工具

取消操作

取消操作,填好之后点击取消按钮

加速操作可以直接用小狐狸钱包的加速或者下图的方法。

加速操作,填好之后点击加速按钮。

注意:在小狐狸钱包弹出确认交互时,要检查最大基本费用和优先费用,必须比卡链那一笔的都各自提升10%以上!不然会提示失败,失败的话就增加gas,直到成功为止,这里的失败不会扣费,因为失败的话,你的请求是发不出去的。

如何通过链上合约直接交互进行mint

在ETH goerli测试网通过链上交互 mint $eVMPX

直接跟链上智能合约进行交互可以绕过前端网站,好处就是更快,和如果前端网站崩掉,你也可以无障碍进行mint等操作。

Mr33🧐为了方便教程已经提早部署好了ETH goerli测试网上的 $eVMPX智能合约,方便讲解和大家实操,代码是fork官方的。

首先打开 goerli eVMPX智能合约:

goerli.etherscan.io

goerli.etherscan.io

切换到goerli测试网

先点击Contract,再点解Write Contract,最后点击Connect to Web3,连接小狐狸钱包。

连接好之后,你就可以直接跟下面approve,mint等的函数进行交互,跟链上智能合约交互,就是调用这些函数。

我们找到mint函数点开

 

这里的power对应的就是eVMPX官网的,1power就代表mint200枚$eVMPX,10就是2000枚,最大是195。

我们输入195,点击Write,小狐狸钱包会弹出,后面大家可以自己玩了。可以把上面的操作都玩一遍练习一下,为7月4日mint eVMPX做准备!

结语

相信学习完本篇教程后你可以在Mint Rush中胜出,并且在以后的链上生涯当中都收益,gas是贯彻区块链交互的,一定要学会的技能。

 

如果你觉得Mr33🧐写得不错的话请关注我们

​​好的,今天就分享到这里了,感兴趣的朋友请关注我们!
微信1:victeam005
微信2:shijie20170405
Telegream:https://t.me/VICOINDAOCHAT