← Blog
10 min di lettura
|
22 ott 2026

Come stimare le commissioni gas su Ethereum e altre blockchain

Scopra come stimare le commissioni gas: la formula, gas limit vs gas price, eth_estimateGas e le insidie su Arbitrum e altre catene, con un esempio pratico.

Capitoli
C
Chaingateway Team
Esperti di blockchain

Piani tariffari isometrici con un indicatore di transazione

Per stimare una gas fee, moltiplichi il gas che una transazione consumerà per il prezzo che paga per unità di gas. Su Ethereum dopo EIP-1559, ciò significa (base fee + priority fee) × unità di gas usate. Le unità derivano dalla simulazione della Sua transazione esatta. Il prezzo proviene dalla rete live. Questa guida illustra entrambe le parti, poi affronta cosa cambia su layer 2, con smart account e quando integra i pagamenti in un’app.

(Se è arrivato qui cercando il prezzo del carburante per la Sua auto, questa pagina riguarda le commissioni di transazione blockchain.)

TL;DR

  • Fee = gas usato × prezzo per gas. Il gas usato misura il lavoro computazionale. Il prezzo per gas riflette la domanda.
  • Simuli la transazione esatta con eth_estimateGas per le unità, e legga i dati live delle fee per il prezzo. Aggiorni entrambi subito prima della firma.
  • Un gas limit è un tetto massimo, non un addebito. Il gas inutilizzato non viene consumato, ma una transazione fallita paga comunque per il lavoro svolto.
  • Rollup come Arbitrum aggiungono un costo dati di layer 1. Usi lo stimatore specifico di ogni catena, non un presupposto basato su Ethereum mainnet.
  • Per app di pagamento, memorizzi la stima, i campi fee, il timestamp e la fee finale della ricevuta per poter riconciliare in seguito.

Indice

La formula dietro ogni stima del gas

Ethereum.org definisce il gas come l’unità che misura lo sforzo computazionale necessario per eseguire operazioni sulla rete. Ogni transazione ne consuma una certa quantità. Poi paga un prezzo per ogni unità. Ciò genera due numeri separati:

  1. Unità di gas dipendono da cosa fa la transazione. Inviare ETH a un indirizzo semplice è basilare. Chiamare uno smart contract non lo è.
  2. Prezzo per gas dipende da quanto è trafficata la rete in questo momento. È quotato in gwei.

Il punto che la maggior parte dei calcolatori nasconde: modificare la logica del Suo contratto sposta il primo numero, mentre la congestione sposta il secondo. Una buona interfaccia mostra entrambi invece di un totale inspiegabile.

Gwei e ETH

Un gwei equivale a 0,000000001 ETH (10^-9). Quindi per convertire, moltiplichi le unità di gas per il prezzo in gwei, poi divida per 1.000.000.000 per ottenere ETH. Moltiplichi per il prezzo di ETH solo se desidera un importo in dollari. Il nostro convertitore gwei gestisce wei, gwei e ETH in entrambe le direzioni.

Cosa ha cambiato EIP-1559

Da EIP-1559, ogni blocco ha una base fee per gas che sale o scende in base alla domanda, e la base fee viene bruciata. In aggiunta, una transazione include una priority fee (la mancia) e una max fee, ovvero l’importo massimo che si è disposti a pagare per gas in totale. Si paga la base fee del blocco che include la transazione più la propria mancia, a patto che la somma rimanga sotto la max fee.

Quindi un preventivo del wallet ha tre parti variabili: unità, base fee e mancia. La max fee è un tetto di sicurezza, non una previsione.

Come le fee EIP-1559 si combinano sotto il tetto della max fee

Gas limit vs gas price

Questi due termini confondono la maggior parte dei principianti, eccoli affiancati.

Gas limitGas price
Cos’èLe unità di gas massime che si permettono alla transazione di usareCosa si paga per unità, in gwei
Impostato daLa propria stima del lavoro richiestoDomanda di mercato, più la propria mancia
AumentandoloNon alza la fee di per séAlza la fee direttamente
Troppo bassoLa transazione fallisceLa transazione attende o non viene inclusa

Il comportamento chiave: un gas limit è un tetto. Un trasferimento ETH standard usa 21.000 gas, e il gas allocato non usato viene restituito. MetaMask nota che aumentare manualmente un limit non alza necessariamente la fee finale perché il gas non usato non viene consumato. Non compra nemmeno una conferma più veloce. Un override manuale protegge solo dalla sottostima.

Il pericolo corre nella direzione opposta. Se un contratto finisce il gas durante l’esecuzione, fa revert ma consuma comunque il gas fornito. E il calcolo viene pagato anche quando una transazione fa revert. Ecco perché si simula prima di fare broadcast.

Un esempio praticato

I numeri sotto sono illustrativi, non prezzi live. Si assuma una base fee di 20 gwei e una priority fee di 2 gwei, quindi 22 gwei per gas.

TransazioneUnità di gasPrezzo per gasFee in gweiFee in ETH
Trasferimento ETH semplice21.00022 gwei462.0000,000462
Approvazione ERC-20 (visualizzazione tipica wallet)45.00022 gwei990.0000,00099

La cifra di 21.000 per un trasferimento semplice proviene da Ethereum.org. La cifra di 45.000 è ciò che MetaMask mostra comunemente per un’approvazione ERC-20, ma il numero reale dipende dal contratto e dal suo stato. Un trasferimento di token o uno swap saranno di nuovo diversi. È tutta la ragione per cui non si possono hardcodare le unità per nulla oltre un trasferimento semplice.

Per ottenere una cifra in fiat, prenda 0,000462 ETH e moltiplichi per il prezzo ETH attuale. Lo faccia per ultimo, ed etichetti come approssimativo.

Stimare il gas nel codice

Se sta costruendo invece di cliccare, il processo ha quattro passaggi.

  1. Descrivere l’intento completo della transazione. eth_estimateGas richiede la chain, l’indirizzo di destinazione, i calldata e il valore, e opzionalmente i campi fee. Cambiare l’importo del token, il destinatario o lo stato del contratto può modificare la stima. Non riutilizzare mai la stima di un trasferimento diverso.
  2. Chiamare eth_estimateGas su un nodo. Restituisce le unità necessarie, solitamente come numero esadecimale che occorre decodificare.
  3. Ottenere le raccomandazioni di prezzo attuali. Interrogare un fee oracle o il proprio nodo per una base fee e un suggerimento di tip alla velocità desiderata (slow, standard, fast).
  4. Calcolare e presentare un range. Moltiplicare le unità per il prezzo e mostrare all’utente un massimo o un range. Una quotazione non è una garanzia e la rete può cambiare tra la stima e l’inclusione.

Poi aggiungere un’abitudine che evita grattacapi: aggiornare il prezzo immediatamente prima della firma. Il prezzo del gas è sensibile alla domanda, quindi la stessa transazione può costare importi diversi in momenti diversi. Ethereum.org rimanda a block explorer e gas tracker per dati live quando serve solo un controllo rapido manuale.

Aggiungere margine al limite, non al prezzo

Un piccolo buffer sul gas limit è un’assicurazione economica, poiché il gas inutilizzato non viene addebitato. Aggiungere margine al prezzo per gas, invece, aumenta direttamente ciò che si paga. Mantenere queste due decisioni separate nel codice.

Layer 2 e altre chain non seguono la formula della mainnet

Una singola formula EVM generica può fuorviare. I rollup addebitano due cose: l’esecuzione sul layer 2 e la pubblicazione dei dati della transazione sul layer 1.

Arbitrum è un buon esempio. La sua documentazione indica che il percorso rapido è chiamare eth_estimateGas e moltiplicare per il gas price della child chain. Il gas limit restituito include il calcolo layer 2 più un buffer per il costo layer 1. Quel buffer dipende dalla dimensione dei calldata compressi e dal pricing della parent chain, quindi la stima può variare quando il layer 1 è congestionato. Per una contabilità a livello di componenti, la chiamata NodeInterface.gasEstimateComponents separa il totale, il buffer layer 1 e i dati della base fee. Lo stesso Arbitrum avverte che le stime sono approssimative e le fee reali possono differire.

Per un approfondimento, vedere il nostro post sul tracciamento delle fee gas Arbitrum live con NodeInterface e la formula di Nitro.

Tron funziona su un modello completamente diverso. Addebita in bandwidth ed energy anziché in gas price, quindi quanto sopra non si applica direttamente. La nostra guida alle fee TRON e il calcolatore fee TRON per trasferimenti USDT-TRC20 coprono quel modello.

La regola per i prodotti multi-chain: usare l’estimator di ogni network e mantenere la logica chain-specific dietro un’unica interfaccia.

Layer 2 e altre chain non seguono la formula della mainnet — diagramma panoramica

Smart account e gas sponsorizzato

Se utilizza l’astrazione dell’account con un paymaster, una quotazione di transazione semplice non è sufficiente. L’ERC-7677 spiega che la stima del paymaster dipende dal contesto, poiché il wallet e il bundler sanno come l’operazione dell’utente verrà effettivamente inviata. Specifica che i wallet dovrebbero usare i valori di gas forniti dal paymaster per i campi specifici del paymaster, incluso il gas post-operazione, poiché i bundler potrebbero sottostimare quei costi.

In pratica: stimi attraverso lo stesso percorso di wallet, paymaster e bundler che utilizzerà per la trasmissione. Non riutilizzi un numero proveniente da una transazione ordinaria.

Errori comuni nella stima

  • Mostrare un solo numero senza contesto. L’utente dovrebbe vedere le unità, il prezzo e un massimo.
  • Usare il limite massimo del wallet come addebito previsto. Il limite è un tetto. Moltiplicarlo per il prezzo sovrastima la commissione probabile.
  • Stimare una volta e firmare in seguito. Prezzi e stato del contratto cambiano. Riesegua la simulazione subito prima di firmare.
  • Applicare assunzioni della mainnet Ethereum a un rollup. Si perderebbe la componente di dati del layer 1.
  • Ignorare i fallimenti. Una transazione annullata costa comunque gas. Simuli prima e mostri gli errori prima che l’utente paghi.
  • Trascurare la traccia di audit. Senza registri, la contabilità non può riconciliare i preventivi con quanto effettivamente addebitato.

Cosa registrare per i pagamenti

Se la sua applicazione sposta denaro, tratti la stima come un dato da conservare. Per ogni transazione, memorizzi:

  • la chain e il contesto del blocco
  • la stima del gas e il limite di gas impostato
  • i campi delle commissioni utilizzati (base fee, tip, max fee)
  • il timestamp della stima
  • la commissione finale dalla ricevuta della transazione

Confrontare il preventivo con la ricevuta le dice quanto derivano le sue stime e se i suoi buffer sono troppo stretti o troppo larghi. Fornisce anche al supporto una risposta diretta quando un cliente chiede perché una commissione è cambiata.

La nostra prospettiva

La maggior parte dei team con cui parliamo non fatica con la formula. Fatica con tutto ciò che le sta attorno: gestire nodi per diverse reti, decodificare risposte grezze, gestire le particolarità delle commissioni di ogni chain e mantenere tutto coerente mentre le chain cambiano.

Abbiamo creato Chaingateway per colmare quel divario. L’idea è una REST API unificata per chain come Ethereum, Tron, Bitcoin, Solana, Polyggon, BNB Chain e Arbitrum, con stima automatica del gas e dati pre-decodificati, così il suo team non deve mantenere un percorso separato per le commissioni per ogni rete. La nostra visione è che la stima delle commissioni debba essere una fase integrata dell’invio di una transazione, non un progetto secondario che i suoi sviluppatori ricostruiscono per ogni chain.

Riteniamo anche che un preventivo debba essere onesto. Mostri la stima come stima, affianchi la commissione della ricevuta, e lasci che i numeri le indichino dove collocare i suoi buffer.

— Bitblade

Eviti la complessità delle commissioni per chain

Se sta costruendo wallet, flussi di payout o deposito, la nostra Blockchain API le permette di creare wallet, inviare trasferimenti di token con stima automatica del gas e recuperare dati di transazione decodificati attraverso un’unica interfaccia. La abbini ai Chaingateway Webhooks per ricevere notifiche in tempo reale quando arrivano i pagamenti, invece di fare polling. Le richieste sono firmate con HMAC.

I piani sono fatturati al mese o all’anno, e può vedere ogni livello nella pagina dei prezzi:

PianoMensileAnnuale
Plus49 EUR al mese490 EUR all’anno
Pro99 EUR al mese990 EUR all’anno
Premium249 EUR al mese2490 EUR all’anno
Enterprise499 EUR al mese4990 EUR all’anno

Sta sviluppando su Arbitrum? Scopra come inviare token ERC-20 su layer 2 con una sola chiamata REST. Per una panoramica su ETH, gas e token ERC-20, la nostra panoramica su Ethereum è un ottimo punto di partenza.

Fonti

Consigliati

Domande frequenti

Simuli la sua transazione esatta con eth_estimateGas per ottenere le unità di gas. Ottenga la base fee attuale e un suggerimento per la priority fee, quindi calcoli (base fee + priority fee) × unità di gas. Converta da gwei a ETH, e in dollari solo se deve visualizzarli.

Il gas limit è il numero massimo di unità di gas che consente a una transazione di utilizzare. Il gas price è ciò che paga per unità, in gwei. Il limit è un tetto e il gas non utilizzato non viene addebitato, mentre il price scala direttamente la sua commissione.

Non sempre. Una stima si basa sulle condizioni nel momento in cui la richiede, e la rete può cambiare prima che la sua transazione venga inclusa. Su Ethereum paga la base fee del blocco che la include più la sua tip, limitata dalla sua max fee. Mostri agli utenti un intervallo o un massimo piuttosto che una cifra garantita.

Sì, nella maggior parte dei casi. Il calcolo avvenuto prima di un revert viene comunque pagato, e una transazione che esaurisce il gas a metà esecuzione consuma il gas fornito. Simulare in anticipo intercetta molti fallimenti prima che spenda qualcosa.

I rollup addebitano per l’esecuzione sul layer 2 e per la pubblicazione dei dati sul layer 1. Su Arbitrum, il gas limit stimato include un buffer per quel costo di layer 1, che varia con il pricing della catena principale. Utilizzi il metodo di stima della catena stessa.

Pronto a costruirlo da solo? Ottieni la tua API key — prova di 7 giorni, senza carta — oppure consulta Blockchain API per il riferimento completo degli endpoint.

C
Chaingateway Team
Esperti di blockchain

Il team di Chaingateway si impegna a semplificare l'integrazione blockchain per sviluppatori di tutto il mondo.