# 怎么手动打赢gas war？

By [Oak](https://paragraph.com/@samsung-us) · 2022-08-13

---

在讲怎么操作之前，先科普一些概念定义。

**1、gas war。** 如果你在以太链上做过交易，那么一定知道每一笔交易都是需要支付gas费的，而gas费的高低取决于当时以太链的拥堵情况。所以当在短时间内迸发大量交易请求的时候，gas费就会被冲到很高，而这种时候，你比其他人的交易被打包到的块高越低（比其他人越快成功），那么你付的gas费就会越低，所以也被称为gas war。

**2、gas费的构成：Base + Max + Max Priority。**

![](https://storage.googleapis.com/papyrus_images/5223e418240a72393d898cc9f5b1f3dffe54cd0251bbd3f0f103c227f81b096b.png)

**Base：出块时的基本网络费用。** Base费是根据区块负载（拥堵）情况来动态进行调整的，下一个块会根据上一个块的负载情况上下浮动12.5%。当负载为 0%，Base费则 -12.5%，负载为50%，Base费不变，负载为100%，Base费则 +12.5%。

**Max Priority：用户愿意给矿工的最大费用。** 在以太链上，我们的交易都是由矿工打包纳入区块，而矿工费（小费）给得越多，矿工就会更优先打包你的交易。矿工费是设置了多少，就一定会给多少。

**Max：用户愿意支付的最大费用。** 最大费用是指这笔交易你愿意支付的上限。上限的意思也就是说，你虽然设置了Max = 100，但交易实际可能只需要付50的gas费。而通常一定要满足 Max ≥ Base + Max Priority，交易才会成功执行。

3、Gwei（一种单位），1 ETH = 10^9 Gwei = 10^18 Wei

4、以太坊每个区块之间的时间间隔大概在12 ～ 14s。

介绍完一些基本概念，下面开始讲怎么操作。

gas war说到根本其实就是gas配置的博弈，所以打赢gas war的核心就是预设gas费（以metamask为例）。

1、点击右上角头像，选择配置。

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

2、然后启用“设置→ 高级 → 高级燃料控制” 和 “设置 → 实验性 → Enable Enhanced Gas Fee UI”。

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

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

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

3、随意向自己另一个钱包发起一笔转账交易，不要点确认，然后点击燃料右上方的按钮。

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

4、然后我们直接选择高级。

![](https://storage.googleapis.com/papyrus_images/5987b8809ccb00b83af3d733db5e0d0df0aa422e7556ec3624a0850b5d66e2b6.png)

5、然后我们能看到可以设置最大基本费用（Max Base）和优先费用（Max Priority）。这里设置完2个值以后把下面“总是使用这些值和高级设置为默认值”勾上，然后点击保存。

![](https://storage.googleapis.com/papyrus_images/3cd40d2a3d4939afb5b7d17d4ccf098bcbdad91a8c5413f3c79e79f86e13d093.png)

这里具体说一下我们怎么判断2个值分别设置多少合适呢？

通过我们前面讲的概念可以知道，在链上特别拥堵的情况下，每个新块的Base费相比上一个块都会最高有一个12.5%的涨幅。

也就是说假设当前的Base费是100，我们把Max Base设成200，那么通过100 \* 112.5% \* 112.5% \* 112.5% \* 112.5% \* 112.5% \* 112.5% = 202.73可以得知，在链上一直拥堵的情况下，如果我们的交易排队能在前6个块排到，交易是可以成功的，而如果超过了6个块，也就是大概超过72 ～ 84s，交易将可能处于一直等待而无法成功的情况。这里一般设个2-3倍就够了，如果特别火爆再根据自己能接受的gas上限来增加。

所以为了保证我们的交易能够尽快成交，也就是需要去插队，我们需要给矿工一些小费（Max Priority），一般优先费在轻微拥堵的情况下设个3 ～ 5，很拥堵的情况设个小几十，大概率是足够的。当然如果你求稳，甚至可以设置更高。

那么设置完二者以后，你最终真实支付的 gas fee = 实际Base费（成功的那个块的Base费，小于等于Max Base）+ 优先费用。

6、保存完以后，我们会看到燃料右上方的按钮已经变成了“高级 > 编辑“，这就表示已经成功设置好了，最后我们点击拒绝交易，这样一来，以后的所有交易都会默认先走你刚刚设置的高级配置。

![](https://storage.googleapis.com/papyrus_images/2e96045d9dd9c3d3cd6bdd5a198b5cb0c01d2fd79f9f4d387e207bc0eef3d201.png)

7、最后如果抢完NFT以后，你想取消默认高级配置，就再到高级里把“总是使用这些值和高级设置为默认值”取消掉就行了。

![](https://storage.googleapis.com/papyrus_images/6dbb1b8c2de027476e2ad39ab45283919b7d2fe817c9158bc98abaf4ab0b4a6f.png)

以上就是所有预设gas的教程，只要你学会了预设gas并且懂得预估gas，那么基本上gas war的胜算就有9成了。

另外这里可以再额外补充一个小知识。

如果你是一个flipper，在mint完之后就想迅速卖掉，但是刚mint的NFT在第一次挂单OpenSea时还需要发一个授权交易，这样一来就会被耽搁十几秒，失去了先机，并且当时还正处于gas war，gas也会很高。那么这里有什么办法可以提速吗？有的，下面我就教大家一个在mint前提前给市场授权的方法（以OpenSea为例）。

1、在Etherscan上找到你想要交易的NFT的合约地址（这里以Aswang为例），先选择Contract，然后选择Write Contract，最后点击Connect to Web3连接钱包。

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

2、然后在下方找到setApprovalForAll方法，点击展开，在operator里输入你要挂单的市场的合约地址（比如OpenSea），然后approved里输入true，最后点击Write按钮。

![](https://storage.googleapis.com/papyrus_images/758378195e55de48e56de889f50cee5a9bdd25759424cc637f12fee5df083ee2.png)

这里附上三个市场的合约地址 ： Opensea: 0x1E0049783F008A0085193E00003D00cd54003c71 LooksRare: 0xf42aa99F011A1fA7CDA90E5E98b277E306BcA83e X2Y2: 0xF849de01B080aDC3A814FaBE1E2087475cF2E354

如果你对上面三个地址存疑，可以自己在Etherscan上找到自己以前对比如OpenSea授权的交易历史，然后从Logs里面找到市场合约地址。

![](https://storage.googleapis.com/papyrus_images/65435104f354f7dd727b279244df830fe320effcac5b37f819fb5f7d86ffaa7e.png)

3、这个时候就会弹出交易请求，确认交易后即完成自己该NFT对市场的授权，在后面mint之后就可以直接上架了。

![](https://storage.googleapis.com/papyrus_images/257c0c7b7e5f6925f0187a8c8e6fa116c73efd27474475ded098bce71e859412.png)

以上便是所有的内容了。如有纰漏错误，欢迎指正。

* * *

更多见Discord：

[https://discord.gg/UvNmwWrak2](https://discord.gg/UvNmwWrak2)

我的推特，后面不定期更新：

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

---

*Originally published on [Oak](https://paragraph.com/@samsung-us/gas-war)*
