As I write this, Ethereum transaction dynamics have never looked so healthy. Gas prices have fallen about 20x compared to several months ago and at the same time confirmation times have improved dramatically. Transactions are now confirmed so quickly and cheaply, fair to ask — who needs calculators?
Nevertheless, in the spirit of mainstream adoption, there are a few new transaction pool / gas price tools that I think may still be useful.
The following sequence remains a not uncommon situation:
- User sends a very low gas price / high gas transaction. It does not confirm.
- User gets tired of waiting and then sends a new transaction with a normal gas price from the same account. It still does not confirm.
- User then suspects that Ethereum is screwed up.
This, in a nutshell, is the somewhat confusing reality of the Ethereum account nonce system- all transactions from the same account must be mined in sequence. If you send a transaction that miners don’t like, sending a new transaction from the same account won’t get mined until the offending one is mined first.
It turns out that this conditional acceptance of transactions, when there are multiple transactions from the same account pending in the Txpool, is very important for understanding Txpool dynamics. In fact, whereas there are often a couple of thousand transactions pending in the Txpool at any given time, a large majority of them are often from a small number of accounts, and therefore are subject to nonce sequencing.
If you want to get a sense of how well transactions are moving through the pending transaction pool, one of the best ways to view the Txpool, in my opinion, is to filter the transactions by account and nonce. This nonce-filtered view of the txpool — what I call the “rig view” (https://ethgasstation.info/rigview.php) — since its a closer view of what transactions miners can actually choose from when the make a block- is typically only about 100 transactions in length and easily shows you if and what transactions are getting backed up.
It turns out that making predictions about confirmation times is also much simpler when you account for nonces. My python script now makes real time predictions for all pending transactions of the lowest nonce from each account in the txpool. You can see these predictions both in the “rig view”, and also you can now search the Txpool by TxID (https://ethgasstation.info/pendingTxReport.php) to get a report for your pending transaction — (note most transactions don’t stay around for very long right now so you need to search quickly for this to work).
This report will give you not only a prediction about whether and how long your transaction should take to be mined but also some data about the percent of blocks accepting the gas price and total number of transactions in the txpool at or above its gas price (a strong predictor of confirmation time). I now also display this txpool data on the calculator page for any given gas price — https://ethgasstation.info/calculatorTxV.php.
Finally a note about “Gas Offered” by the transaction: After looking for a while at the rigview- it becomes clear that transactions with very high gas offered often get backed up. It turns out that “Gas Offered” does not matter much until you get above 1million gas offered (about 15% of the current block gas limit) and then it starts to slow the transaction down or keeps it from getting mined altogether. Therefore, I now make two predictions about transactions in the pending txpool: 1) Will the transaction be mined in the next 250 blocks? and 2) If so, how long will it take to be mined. Modeling transaction flow through the txpool is really a survival analysis problem with censored data — ideally I would show median survival time in the txpool accounting for censoring – but this will need to wait for another day — unless Casper makes it all moot anyway with super fast and cheap transactions.