How gas fees, limits, and network fees work
Ainda descobrindo criptodivisas e a web3?
Acesse a MetaMask Learn para uma experiência de aprendizagem simples, criada especificamente para novatos na web3. É totalmente gratuito, está disponível em vários idiomas e inclui ferramentas úteis, como simulações, para ajudar você a entender a MetaMask.
Gas (or network fees) is the unit of measurement for how much computational work is required to process transactions and smart contracts. Basicamente, uma taxa de transação, o termo se origina da Ethereum, em cujo contexto se refere à computação realizada na Máquina Virtual Ethereum (EVM). Desde que a Ethereum foi criada, inúmeras redes compatíveis (e não compatíveis!) com EVM surgiram e adotaram modelos semelhantes.
Other networks like Solana and Bitcoin also have network fees, though they may be calculated differently. Luckily, MetaMask automatically calculates the network fee for you when you confirm a transaction, taking the guesswork out of it.
O termo é análogo ao combustível que alimenta o motor dos automóveis: é o custo flutuante, ocasionalmente caro, de funcionamento. Contratos inteligentes mais complexos exigem mais energia para alimentar sua computação, assim como um carro maior e mais potente consome mais combustível para funcionar.
O método para calcular as taxas de gás varia de acordo com a rede. For example, on Ethereum Mainnet, you pay a base fee for every unit of gas, which is burned (read: it is deleted, and disappears) upon successful completion of the transaction. À taxa base, você soma uma taxa de prioridade (por unidade de gás), cujo valor depende da rapidez com que você deseja que a transação seja concluída.
Por toda a ampla gama de redes compatíveis com a EVM disponível, a taxa de gás ou alternativas que funcionam de modo parecido tornaram-se essencialmente o método padrão para calcular os custos da transação. Fees are paid in the network's native token: for example, any transaction on Ethereum requires ETH; using BSC requires BNB; using Polygon requires POL (previously MATIC). Some networks have adopted Ethereum's EIP-1559 model wholesale, such as Polygon, while others have made adjustments, including Avalanche, for their C-Chain (which burns both the base fee and priority fee, rather than just the former).
On Ethereum Mainnet, BNB Smart Chain, Polygon, Arbitrum, and Base, MetaMask allows you to pay the network fee using different tokens. This means you do not need to have enough of the network's native token to cover the network fee, but can do so using other tokens.
On the backend, MetaMask will swap your selected token for the network's native token, and then use that to pay the network fee. MetaMask uses the simplest, cheapest method to do this.
On the frontend, you won't need to worry about swapping a token for the network's native token, because MetaMask will do it for you. Simply select the token you want to use to pay the network fee, and MetaMask will handle the rest.
Para obter mais informações, consulte aqui.
Se quiser ler com mais profundidade sobre como o gás funciona na Ethereum, confira aqui.
In MetaMask, you'll see 'Network fee' in the transaction confirmation screen. This is the gas fee.
Here are some details for dealing with gas:
O limite de gás (unidades de gás usadas)
O limite de gás é a quantidade máxima de unidades de gás que você está disposto a pagar para realizar uma transação ou operação na EVM. Diferentes operações exigem diferentes quantidades de unidades de gás. Uma transação normal que envie ETH ou um token custa, normalmente, 21 mil unidades de gás, enquanto uma aprovação de tokens ERC-20 exige 45 mil. Muitas redes, como a Harmony, uma blockchain compatível com EVM, usam um modelo idêntico no qual as transações padrão também custam 21.000 unidades de gás.
Preciso editar o limite de gás?
Não! A MetaMask define o gás automaticamente de acordo com a transação que você está tentando executar. Na grande maioria dos casos, isso será adequado para completar sua transação. Se você quiser verificá-lo ou editá-lo, confira se possui os controles de gás avançados ativos e clique no botão próximo às informações de gás, na tela de confirmação da transação, onde se lê "Mercado", "Baixa" ou "Agressiva".
A taxa-base
Cada bloco da rede Ethereum tem uma taxa base determinada pela demanda da rede: a taxa base se baseia no tamanho do bloco anterior, comparado ao tamanho do bloco alvo (onde o tamanho é a quantidade total de gás usado para todas as transações que o bloco inclui). Se o tamanho do bloco anterior exceder o tamanho do alvo, a taxa base para o bloco seguinte aumentará em 12,5%. Assim, você (que é o usuário, ou sua carteira) saberá com absoluta certeza a taxa base do próximo bloco. O total da sua taxa de gás deve atender a esse preço como um valor mínimo considerado para a inclusão no bloco.
A taxa de prioridade
A taxa de prioridade, também conhecida como “gorjeta do minerador”, incentiva o minerador a priorizar sua transação.
Naturally, whether this does actually go to a miner depends on the consensus mechanism they use: Ethereum Mainnet became a Proof of Stake network following the Merge in September 2022, so the priority fee goes to validators instead of miners.
A taxa máxima
A taxa máxima é o valor total global pago pela sua transação. Ela é calculada como: (taxa base + taxa de prioridade) x unidades de gás usadas. Inicialmente, a MetaMask define esse valor com base no histórico do bloco anterior. No entanto, os usuários podem editar esse valor por meio de configurações personalizadas (confira abaixo). A diferença entre a taxa máxima de gás e a taxa base + a taxa máxima de prioridade por gás é "reembolsada" ao usuário.
Conceitos adicionais
Gwei
O gwei é uma unidade de Ether, a menor denominação que corresponde a gigawei (ou 1.000.000.000). O gwei é usado para taxas de gás, ou melhor, os pagamentos feitos pelos usuários para compensar a energia de computação necessária para processar e validar transações na blockchain Ethereum.
Outras redes também tendem a calcular os custos usando o gwei como, por exemplo, a Fantom, a Harmony e a Avalanche.
Slippage
Slippage é a diferença percentual esperada entre um preço cotado e um preço executado.
Taxa de gás
A taxa de gás se refere à taxa de transação na blockchain Ethereum. É o que os usuários pagam para validar ou concluir uma transação.
Taxa-base
Gerada pelo protocolo. Representa o multiplicador mínimo de gás usado, necessário para que uma transação seja incluída em um bloco (ou seja, para que uma transação seja concluída). Essa é a parte da taxa de transação que é queimada.
Advanced gas controls
Se você quiser conhecer o âmago da questão sobre seus controles da taxa de gás (isso pode ser útil se estiver testando um dapp, por exemplo), a MetaMask pode fazer isso! Consulte o artigo completo aqui.
Out of gas errors
A problem you may encounter is a transaction failing with an "out of gas" error like in the screenshot below.
This means that all the gas units up to the limit you set were used up before the transaction could be fully processed.
To avoid another "out of gas" error, you will need to increase the gas limit of your next transaction. This can be done just before sending your next transaction by customizing gas settings.
MetaMask gas limit recommendations
The vast majority of the time, the gas limit that MetaMask automatically sets for your transaction will be sufficient.
Selecting a gas limit is mostly a personal preference, but it may be helpful to review recent successful transactions of the executing smart contract to understand what is a sufficient gas limit for your transaction.
Recommended steps:
- While reviewing your transaction with the "out of gas" error on Etherscan, click the link to the Contract address in the "To:" section directly above the out of gas error
- Scroll down to the list of Transactions and click on the Txn Hash of any completed transaction (non-pending)
- Ensure that the transaction shows Status as Success. If not, go back and choose another transaction.
- Click on Click to show more
- Make a note of the Gas Limit that was chosen for the transaction
- Optional: repeat steps 1-4 to better estimate a gas limit that will be sufficient for your transaction
- Once you have a good idea of a value for your gas limit, make sure to adjust the gas limit when sending out your next transaction.