Author

Topic: [Guida][Ethereum] Come cancellare una transazione in pending (Read 275 times)

newbie
Activity: 63
Merit: 0
Mi è capitato di doverla usare giusto ieri e l'ho trovata cercando su google, ma vedo il thread solo ora, ottimo consiglio
newbie
Activity: 175
Merit: 0
Ciao
grazie del link e spiegazioni utili

che succede invece a una transazione che è andata in Fail per "out-of-gas"?

Quelle fee ritornano nel wallet o sono perse?



Dipende:
-Gli SC hanno la possibilità di non far spendere il gas se la transazione non è andata a buon fine, ma questo dipende se lo SC è stato scritto con quella funzione (non mi ricordo il nome  Roll Eyes) o meno, in caso contrario, si spende tutto il gas.
-Se stai interagendo con un account ethereum "normale", dovresti aver speso tutto il gas che avevi messo a disposizione.

Di solito si dà un "out-of-gas" quando uno dei due parametri (gas limit/gas price) è sballato ma vedendo lo stato della rete adesso è probabile che abbia messo pochi Gwei.

Ah, grazie dell info. Quando mi è capitato era uno SC in effetti, sembrerebbe che l unico modo rudimentale da etherscan sia di fare la somma delle transazioni e paragonarla con l'account balance..
jr. member
Activity: 209
Merit: 7
Ciao,
in questo periodo che CryptoKitties ha innalzato notevolmente il numero di transazioni sulla blockchain, ho riscontrato non poche difficoltà e mi sono ritrovato con transazioni che restavano in pending per giorni, ed anche se provavo a fare una nuova transazione con gas molto alto, la nuova transazione non andava a buon fine.

L'unica soluzione è cancellare la transazione in pending alla quale abbiamo dato troppo poco gas, ma come fare?

Vi posto una guida che mi ha aiutato a risolvere il problema sperando che sia utile anche a voi:

https://medium.com/@marco.fucito/ethereum-come-cancellare-una-transazione-in-attesa-36fb55dd4ebc



Ti ringrazio,la guida che hai postato mi è stata utilissima proprio in questo istante Smiley
full member
Activity: 602
Merit: 144
Ciao
grazie del link e spiegazioni utili

che succede invece a una transazione che è andata in Fail per "out-of-gas"?

Quelle fee ritornano nel wallet o sono perse?



Dipende:
-Gli SC hanno la possibilità di non far spendere il gas se la transazione non è andata a buon fine, ma questo dipende se lo SC è stato scritto con quella funzione (non mi ricordo il nome  Roll Eyes) o meno, in caso contrario, si spende tutto il gas.
-Se stai interagendo con un account ethereum "normale", dovresti aver speso tutto il gas che avevi messo a disposizione.

Di solito si dà un "out-of-gas" quando uno dei due parametri (gas limit/gas price) è sballato ma vedendo lo stato della rete adesso è probabile che abbia messo pochi Gwei.
newbie
Activity: 175
Merit: 0
Ciao
grazie del link e spiegazioni utili

che succede invece a una transazione che è andata in Fail per "out-of-gas"?

Quelle fee ritornano nel wallet o sono perse?

member
Activity: 84
Merit: 10
"Highest ROI crypto infrastructure"
Ottima guida !

Quindi una volta che la transazione precedente viene eliminata i fondi della prima tranazione  tornano al wallet , giusto?

Grazie per i complimenti Cheesy

Un bonifico bancario ti sottrae i fondi prima di processare la transazione, in ethereum i fondi ti vengono sottratti solo a transazione eseguita, quindi sse la stessa viene annullata, i fondi non ti verranno mai sottratti.
Quando effettuai la seconda transazione con un Gas Price superiore e lo stesso numero di nounce, tale transazione sarà gestita più in fretta e dato che per le regole di ETH non è possibile processare una transazione con lo stesso numero di nounce di una già processata, la stessa sarà dunque sarà annullata

Ciao,
complimenti per l'articolo. Credo sia una piccola guida utile per chiunque  Smiley

Grazie sono molto felice che la abbiate trovata utile
K-
member
Activity: 98
Merit: 10
Ciao,
complimenti per l'articolo. Credo sia una piccola guida utile per chiunque  Smiley
sr. member
Activity: 1554
Merit: 297
Qui https://ethgasstation.info/index.php puoi vedere quanto è congestionata le rete ethereum e stabilire in qualsiasi momento quanto è il gas price consigliato per inserire la transazione in un blocco in un determinato periodo di tempo
hero member
Activity: 1666
Merit: 565
Se la rete è poco intasata, può essere usato meno gas oppure se imposti un gas limit troppo alto (mi è capitato di impostare un gas limit di 50000 e spenderne circa 30000)

Un esempio pratico si ha qui: come vedi hanno impostato gas limit = 90000 ma il gas usato è stato di 21000 come una normale transazione ethereum

perfetto, sei stato molto chiaro. Grazie per l'aiuto.
In ogni caso, vedendo il tuo link il costo delle transazioni è veramente basso! (0,30$). Anche raddoppiandolo siamo sotto i 50 centesimi di euro che, relativamente parlando (ovvero non nel caso di transazioni per comprare un caffè o simili) è ampiamente gestibile.

C'è un modo per sapere quanto la rete è congestionata? C'è una mempool anche su eth?
full member
Activity: 602
Merit: 144
Se la rete è poco intasata, può essere usato meno gas oppure se imposti un gas limit troppo alto (mi è capitato di impostare un gas limit di 50000 e spenderne circa 30000)

Un esempio pratico si ha qui: come vedi hanno impostato gas limit = 90000 ma il gas usato è stato di 21000 come una normale transazione ethereum
hero member
Activity: 1666
Merit: 565
Con ethereum ti prefissi quanto vorresti spendere per una transazione (per esempio 0.0004 eth), lo dividi per il gas limit che imposti (in base a sc, account ethereum ecc e supponiamo 250000) e quindi il gas che devo impostare sarà 0.0004÷250000×10^9=1.6Gwei. quindi impostando gas limit=250000 e gas price=1.6Gwei sei sicuro di spendere al massimo 0.0004 eth per transazione però ovviamente il tutto va contestualizzato con lo stato della rete (come in bitcoin) e se necessario aumenti il gas price (e non il gas limit) aumentando anche il possibile costo finale della transazione (perche può essere che venga usato meno gas, rispetto al gas limit e quindi spenderesti di meno).

ok grazie mille ora è più chiaro! certo, bisogna fare un po' di calcoli e impratichirsi (al limite ci si fa la formuletta su excel Cheesy).
Una domanda: ma in quali casi può venire usato meno gas rispetto a quanto impostato?
full member
Activity: 602
Merit: 144
Con ethereum ti prefissi quanto vorresti spendere per una transazione (per esempio 0.0004 eth), lo dividi per il gas limit che imposti (in base a sc, account ethereum ecc e supponiamo 250000) e quindi il gas che devo impostare sarà 0.0004÷250000×10^9=1.6Gwei. quindi impostando gas limit=250000 e gas price=1.6Gwei sei sicuro di spendere al massimo 0.0004 eth per transazione però ovviamente il tutto va contestualizzato con lo stato della rete (come in bitcoin) e se necessario aumenti il gas price (e non il gas limit) aumentando anche il possibile costo finale della transazione (perche può essere che venga usato meno gas, rispetto al gas limit e quindi spenderesti di meno).
hero member
Activity: 1666
Merit: 565

Per prima cosa, grazie della risposta!

non sembra di immediata comprensione calcolare effettivamente il costo della transazione. Immagino ci sia un motivo per cui è stato messo in piedi questo meccanismo.

Mi sembra di capire poi che se si interagisce con uno smart contract allora il gas limit è per definizione alto? Quindi si spende di più?

Sinceramente mi trovo meglio con questo metodo rispetto ai BTC/kb di una transazione in bitcoin. Comunque si, in generale interagire con uno smart contract costa di più in termini di gas limit (forse perche richiede più risorse da parte della rete e un altro utente più preparato di me potrebbe spiegare meglio questo aspetto): per una transazione in eth il gas limit standard è 21000; se interagisci con uno SC di solito si mette 250000, se mandi i token si ha un gas limit variabile da 30000/40000 in su.
Inoltre non è detto che si spenda di più perche magari mandare ether ad un indirizzo "intasato" (ovvero impostare 40/60 Gwei altrimenti la transazione non viene convalidata) costa di più che mandare eth ad uno smart contract "libero" (dove la transazione viene convalidata anche con 0.5Gwei) però in generale non vale questa cosa

E' che mi sembra difficile calcolare quanto effettivamente spendo per una transazione. Con i btc alla fine ho il valore in satoshi, mi riesco a fare un'idea. Con gli eth come si fa?
full member
Activity: 602
Merit: 144

Per prima cosa, grazie della risposta!

non sembra di immediata comprensione calcolare effettivamente il costo della transazione. Immagino ci sia un motivo per cui è stato messo in piedi questo meccanismo.

Mi sembra di capire poi che se si interagisce con uno smart contract allora il gas limit è per definizione alto? Quindi si spende di più?

Sinceramente mi trovo meglio con questo metodo rispetto ai BTC/kb di una transazione in bitcoin. Comunque si, in generale interagire con uno smart contract costa di più in termini di gas limit (forse perche richiede più risorse da parte della rete e un altro utente più preparato di me potrebbe spiegare meglio questo aspetto): per una transazione in eth il gas limit standard è 21000; se interagisci con uno SC di solito si mette 250000, se mandi i token si ha un gas limit variabile da 30000/40000 in su.
Inoltre non è detto che si spenda di più perche magari mandare ether ad un indirizzo "intasato" (ovvero impostare 40/60 Gwei altrimenti la transazione non viene convalidata) costa di più che mandare eth ad uno smart contract "libero" (dove la transazione viene convalidata anche con 0.5Gwei) però in generale non vale questa cosa
hero member
Activity: 1666
Merit: 565
giusto per capire meglio questo concetto del gas: in pratica sono semplicemente come le fee che si hanno con il btc? E anche in questo caso, più sono alte, più è probabile che la propria transazione venga elaborata prima.. è corretto?

Quali sono quindi le differenze, se ci sono, tra gas e le "normali" fee?

Non proprio, le fee su ethereum si calcolano con gas price (misurato in gwei = 10^-9ETH)) e gas limit. Si può immaginare il gas limit come il costo della benzina e il gas price come quanta benzina metti. Il costo massimo della fee è pari al prodotto dei 2 valori impostati. Ho detto costo massimo perchè la rete può usare meno gas (rispetto al gas limit) per processare una transazione e quindi spendere globalmente di meno. Questo dipende dall' intasamento della rete ethereum, dal ricevente (se è un normale account o uno smart contract) e se si sta mandando eth o token. I valori ottimali si possono trovare su ethgasstation.info. Da qui si possono distinguere 4 casi:

-gas price e gas limit alti: transazione processata quasi subito e molto probabilmente si sta interagendo con uno smart contract
-gas price alto e gas limit basso: transazione processata subito se interagisco con account ethereum mandando ethereum altrimenti potrebbe non essere inclusa in un blocco se interagisci con smart contract
-gas price basso e gas limit alto: transazione processata lentamente ma si interagisce con smart contract
-gas price e gas limit basso: transazione processata lentamente con account ethereum

Per prima cosa, grazie della risposta!

non sembra di immediata comprensione calcolare effettivamente il costo della transazione. Immagino ci sia un motivo per cui è stato messo in piedi questo meccanismo.

Mi sembra di capire poi che se si interagisce con uno smart contract allora il gas limit è per definizione alto? Quindi si spende di più?
full member
Activity: 602
Merit: 144
giusto per capire meglio questo concetto del gas: in pratica sono semplicemente come le fee che si hanno con il btc? E anche in questo caso, più sono alte, più è probabile che la propria transazione venga elaborata prima.. è corretto?

Quali sono quindi le differenze, se ci sono, tra gas e le "normali" fee?

Non proprio, le fee su ethereum si calcolano con gas price (misurato in gwei = 10^-9ETH)) e gas limit. Si può immaginare il gas limit come il costo della benzina e il gas price come quanta benzina metti. Il costo massimo della fee è pari al prodotto dei 2 valori impostati. Ho detto costo massimo perchè la rete può usare meno gas (rispetto al gas limit) per processare una transazione e quindi spendere globalmente di meno. Questo dipende dall' intasamento della rete ethereum, dal ricevente (se è un normale account o uno smart contract) e se si sta mandando eth o token. I valori ottimali si possono trovare su ethgasstation.info. Da qui si possono distinguere 4 casi:

-gas price e gas limit alti: transazione processata quasi subito e molto probabilmente si sta interagendo con uno smart contract
-gas price alto e gas limit basso: transazione processata subito se interagisco con account ethereum mandando ethereum altrimenti potrebbe non essere inclusa in un blocco se interagisci con smart contract
-gas price basso e gas limit alto: transazione processata lentamente ma si interagisce con smart contract
-gas price e gas limit basso: transazione processata lentamente con account ethereum
member
Activity: 78
Merit: 10
giusto per capire meglio questo concetto del gas: in pratica sono semplicemente come le fee che si hanno con il btc? E anche in questo caso, più sono alte, più è probabile che la propria transazione venga elaborata prima.. è corretto?

Quali sono quindi le differenze, se ci sono, tra gas e le "normali" fee?
mi accodo alla domanda
hero member
Activity: 1666
Merit: 565
giusto per capire meglio questo concetto del gas: in pratica sono semplicemente come le fee che si hanno con il btc? E anche in questo caso, più sono alte, più è probabile che la propria transazione venga elaborata prima.. è corretto?

Quali sono quindi le differenze, se ci sono, tra gas e le "normali" fee?
newbie
Activity: 3
Merit: 0
Ottima guida !

Quindi una volta che la transazione precedente viene eliminata i fondi della prima tranazione  tornano al wallet , giusto?
member
Activity: 84
Merit: 10
"Highest ROI crypto infrastructure"
Ciao,
in questo periodo che CryptoKitties ha innalzato notevolmente il numero di transazioni sulla blockchain, ho riscontrato non poche difficoltà e mi sono ritrovato con transazioni che restavano in pending per giorni, ed anche se provavo a fare una nuova transazione con gas molto alto, la nuova transazione non andava a buon fine.

L'unica soluzione è cancellare la transazione in pending alla quale abbiamo dato troppo poco gas, ma come fare?

Vi posto una guida che mi ha aiutato a risolvere il problema sperando che sia utile anche a voi:

https://medium.com/@marco.fucito/ethereum-come-cancellare-una-transazione-in-attesa-36fb55dd4ebc
Jump to: