# Gas知识与$eVMPX Mint教程：掌握区块链应用的关键步骤

By [0xmr.33](https://paragraph.com/@0xmr-33) · 2023-07-02

---

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

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

[https://twitter.com/0xmr33](https://twitter.com/0xmr33)

在本篇教程你将学习到
----------

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

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

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

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

准备工作
----

1、准备好你的 [Metamask小狐狸钱包](https://metamask.io/)。

2、在水龙头[领取ETH goerli测试网测试币](https://goerlifaucet.com/)。

3、下载chrome[实时监控gas插件](https://www.blocknative.com/)。

如何有效设置gas
---------

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

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

![MetaMask设置gas](https://storage.googleapis.com/papyrus_images/eafb2220f271b3ec2d54e0105ded8a598274f85367f87badb35e6d5bd57b12fb.png)

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](https://storage.googleapis.com/papyrus_images/f20416e5b080a985c9292ba69e257a33ef8d37dce62760bf76792f91643a0b24.png)

链上查看 Nonce

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

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

原理明白之后，我们来实操，这里Mr33🧐推荐一个简单的工具来做，[MCT工具](https://mct.xyz/transaction/cancel)

取消操作

![取消操作，填好之后点击取消按钮](https://storage.googleapis.com/papyrus_images/4f5233fdb867b7bd5437521238f3c3d32ba6d2f58acaef8539d4ab070cf2e035.png)

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

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

![加速操作，填好之后点击加速按钮。](https://storage.googleapis.com/papyrus_images/c342ee911609abd0ee3ca1a7f1e5f18b8e472402ae5377bb81c9b3fa61eb4291.png)

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

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

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

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

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

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

首先打开 goerli eVMPX智能合约：

[https://goerli.etherscan.io/address/0x3c064f5B5bfec61A497C7f4e4ad6A623da23CbE8](https://goerli.etherscan.io/address/0x3c064f5B5bfec61A497C7f4e4ad6A623da23CbE8)

切换到goerli测试网

![](https://storage.googleapis.com/papyrus_images/7bcfbba10c1cd9b10f4472f329c39a7cfe1833107843a54ee272324e7921c2a5.png)

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

![](https://storage.googleapis.com/papyrus_images/8c358f7093c99658914622e3552e44f812a665162998a1f87edf66449999f68f.png)

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

我们找到mint函数点开

![eVMPX mint函数](https://storage.googleapis.com/papyrus_images/f16e740ab1e939fcf22b7bf982991fa54f9869aca3781f9e96b33e6e64b0259d.png)

eVMPX mint函数

这里的power对应的就是[eVMPX官网](https://getvmpx.com/)的，1power就代表mint200枚$eVMPX，10就是2000枚，最大是195。

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

结语
--

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

如果你觉得Mr33🧐写得不错的话欢迎[关注Mr33的推特](https://twitter.com/0xmr33)，订阅我，你的支持是我的动力。💪

也欢迎加入我们的Tg群一起参与讨论：

[https://t.me/+-Yd\_UQmLqGpjODk1](https://t.me/+-Yd_UQmLqGpjODk1)

---

*Originally published on [0xmr.33](https://paragraph.com/@0xmr-33/gas-evmpx-mint)*
