Erkennen einer rückgängig gemachten Transaktion mit Web3

Ich verwende Web3, um Transaktionen zu übermitteln, und es scheint, als würde ich diesen Fehler nicht auf meinem Frontend erhalten, wenn eine Transaktion erfolgreich abgebaut, aber zurückgesetzt wird. Kann ich trotzdem erkennen, wann die Transaktion mit Web3 zurückgesetzt wird, damit ich eine entsprechende Meldung am Frontend anzeigen kann?

Der Code, den ich verwende, ist unten.

Danke!

 web3.contractInstance().methods.create().send({gas: 90000, value: 10, from: address})
                        .on('transactionHash', hash => {
                            console.log('TX Hash', hash)
                        })
                        .then(receipt => {
                            console.log('Mined', receipt)
                        })
                        .catch( err => {
                            console.log('Error', err)
                        })
                        .finally(() => {
                            console.log('Extra Code After Everything')
                        })

Ich erhalte die Quittung, aber kein Fehler beim Zurücksenden. Danke!

Antworten (1)

Diese erhalten Sie im Statusfeld des Eingangs. Wenn der Status 1 ist, bedeutet dies, dass die Transaktion erfolgreich war, wenn 0, bedeutet dies, dass die Transaktion fehlgeschlagen ist.

web3.contractInstance().methods.create().send({gas: 90000, value: 10, from: address})
                        .on('transactionHash', hash => {
                            console.log('TX Hash', hash)
                        })
                        .then(receipt => {
                            console.log('Mined', receipt)
                            if(receipt.status == '0x1' || receipt.status == 1){
                                console.log('Transaction Success')
                            }
                            else
                                console.log('Transaction Failed')
                        })
                        .catch( err => {
                            console.log('Error', err)
                        })
                        .finally(() => {
                            console.log('Extra Code After Everything')
                        })

Diese Fähigkeit wurde von EIP-658 eingeführt