electrum-personal-server
electrum-personal-server copied to clipboard
Can't bump fee (RBF)
Hi there,
Steps to reproduce: right click on unconfirmed transaction, increase fee, sign and when clicking on Broadcast:
"The server returned an unexpected transaction ID when broadcasting the transaction. Consider trying to connect to a different server, or updating Electrum.
Server returned unexpected transaction ID."
I see no error in eps' log. Other than that everything is working fine.
bitcoin 0.18, eps 0.1.7, electrum 3.3.6
Thanks for the bug report.
In EPS's debug log, what does the server send to the client in response to the blockchain.transaction.broadcast message? I assume its some error message which is why the client talks about "an unexpected transaction ID" ?
Issue #14 is also about being unable to RBF transactions but I've never been able to reproduce it myself.
Just tried again bumping the fee from 1sat/b to 2sat/b with debug log and found the response from server:
DEBUG:2019-06-24 22:25:51,408: => {"jsonrpc": "2.0", "method": "blockchain.transaction.broadcast", "id": 157, "params": ["020000000111f2da62c3cb544149ac9140e62ddc3e98c2bbf1be7b20d16fb4ad10e718ba27010000006b483045022100e31c2dce75459cf8c1a547d3ab4b44b6542a573070d788b33c55aa42c9a5ddc30220087590c18939601737432f4e125f55a305b6ffeced54e54236d98e01005a860b01210300e726d149efa201b01387f45232418c16c4565856e346b504fcffbff15fd095fdffffff02988e0300000000002200205417e66553dda480d5eadfba5ad4ea6b64750fb30b24183aefffc0093e2afdbcc28d0c00000000001976a914aa2231d4bd153160a78d4d89dad5dd764acee05188ac61e20800"]} DEBUG:2019-06-24 22:25:51,410: <= {"jsonrpc": "2.0", "result": "66: insufficient fee", "id": 157} DEBUG:2019-06-24 22:25:52,819: => {"jsonrpc": "2.0", "method": "mempool.get_fee_histogram", "id": 158} DEBUG:2019-06-24 22:25:52,927: <= {"jsonrpc": "2.0", "result": [[91.0, 113250], [76.0, 112947], [7.0, 113156], [2.0, 212881], [1.0, 3015399], [0.0, 223]], "id": 158} DEBUG:2019-06-24 22:25:52,928: => {"jsonrpc": "2.0", "method": "blockchain.estimatefee", "id": 159, "params": [25]} DEBUG:2019-06-24 22:25:52,929: <= {"jsonrpc": "2.0", "result": 0.00025672, "id": 159} DEBUG:2019-06-24 22:25:52,929: => {"jsonrpc": "2.0", "method": "blockchain.estimatefee", "id": 160, "params": [10]} DEBUG:2019-06-24 22:25:52,930: <= {"jsonrpc": "2.0", "result": 0.00062259, "id": 160} DEBUG:2019-06-24 22:25:52,930: => {"jsonrpc": "2.0", "method": "blockchain.estimatefee", "id": 161, "params": [5]} DEBUG:2019-06-24 22:25:52,931: <= {"jsonrpc": "2.0", "result": 0.00062259, "id": 161} DEBUG:2019-06-24 22:25:52,931: => {"jsonrpc": "2.0", "method": "blockchain.estimatefee", "id": 162, "params": [2]} DEBUG:2019-06-24 22:25:52,932: <= {"jsonrpc": "2.0", "result": 0.00091429, "id": 162}
Weird because I have enough funds in that wallet.
You probably need to increase the fee even more?
Also, I guess EPS returns errors differently than e-x. e-x would trigger this line https://github.com/spesmilo/electrum/blob/570c0aeca39e56c742b77380ec274d178d660c29/electrum/network.py#L865 while it seems EPS triggers https://github.com/spesmilo/electrum/blob/570c0aeca39e56c742b77380ec274d178d660c29/electrum/network.py#L872
IIRC e-x is setting the "error" key in these cases, not "result".
Commit https://github.com/chris-belcher/electrum-personal-server/commit/015742ded02f1d35cbbb82fc8d04326bd62c9458 hopefully now correctly passes the error messages back to the client, making this error easier to understand for users.