electrum: Command-line: Wallet balance is not updated after sent transaction and fails on second tx

I have wallet (restored from 1 private key) that is not updating balance after sent transactions.

Querying wallet balance:

$ electrum getbalance

{
    "confirmed": "0.01"
}

Sending transactions:

$ electrum paytomany ... | electrum broadcast - TXID

Checking wallet balance again:

$ electrum getbalance

{
    "confirmed": "0.01"
}

🪲 getbalance is returning old wallet balance, transaction is confirmed on blockchain.

$ electrum getaddressbalance ADDRESS

{
    "confirmed": "0.0049", 
    "unconfirmed": "0"
}

getaddressbalance returned correct address balance.

Daemon status

$ electrum daemon status

{
    "auto_connect": true, 
    "blockchain_height": 381018, 
    "connected": true, 
    "nodes": [
        "electrum.bahiadelsol.io:5002:s", 
        "ecdsa.net:110:s", 
        "erbium1.sytes.net:50002:s", 
        "electrum.be:50002:s", 
        "VPS.hsmiths.com:50002:s", 
        "electrum.bauerj.eu:50002:s", 
        "us.electrum.be:50002:s"
    ], 
    "path": "/home/user2/.electrum", 
    "server": "ecdsa.net", 
    "server_height": 381018
}

Different servers and daemon restart didn’t help on next transaction I am getting:

Traceback (most recent call last):
  File "/usr/local/bin/electrum", line 473, in <module>
    result = run_command(config, None, password)
  File "/usr/local/bin/electrum", line 265, in run_command
    result = func(*args)
  File "/usr/local/lib/python2.7/dist-packages/electrum/commands.py", line 70, in func_wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/electrum/commands.py", line 432, in paytomany
    tx = self._mktx(outputs, tx_fee, change_addr, domain, nocheck, unsigned)
  File "/usr/local/lib/python2.7/dist-packages/electrum/commands.py", line 414, in _mktx
    coins = self.wallet.get_spendable_coins(domain)
  File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 617, in get_spendable_coins
    c = self.get_addr_utxo(addr)
  File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 583, in get_addr_utxo
    coins.pop(txi)
KeyError: u'64-CHAR-HASH-EDITED-FOR-PRIVACY:4'
{
    "error": "Traceback (most recent call last):\n  File \"/usr/local/bin/electrum\", line 319, in run\n    response = run_command(config, self.network, password)\n  File \"/usr/local/bin/electrum\", line 265, in run_command\n    result = func(*args)\n  File \"/usr/local/lib/python2.7/dist-packages/electrum/commands.py\", line 70, in func_wrapper\n    return func(*args, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/electrum/commands.py\", line 228, in broadcast\n    return self.network.synchronous_get(('blockchain.transaction.broadcast', [str(t)]))\n  File \"/usr/local/lib/python2.7/dist-packages/electrum/transaction.py\", line 469, in __str__\n    self.raw = self.serialize()\n  File \"/usr/local/lib/python2.7/dist-packages/electrum/transaction.py\", line 651, in serialize\n    outputs = self.outputs\nAttributeError: Transaction instance has no attribute 'outputs'\n"
}

Version: Electrum 2.5.2

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Reactions: 3
  • Comments: 48 (31 by maintainers)

Commits related to this issue

Most upvoted comments

Sent 2 transactions and after they confirmed sent another one and it is giving the same traceback.

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/EGG-INFO/scripts/electrum", line 314, in run
    response = run_command(config, self.network, password)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/EGG-INFO/scripts/electrum", line 260, in run_command
    result = func(*args)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/electrum/commands.py", line 70, in func_wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/electrum/commands.py", line 432, in paytomany
    tx = self._mktx(outputs, tx_fee, change_addr, domain, nocheck, unsigned)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/electrum/commands.py", line 414, in _mktx
    coins = self.wallet.get_spendable_coins(domain)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/electrum/wallet.py", line 612, in get_spendable_coins
    c = self.get_addr_utxo(addr)
  File "/usr/local/lib/python2.7/dist-packages/Electrum-2.5.2-py2.7.egg/electrum/wallet.py", line 578, in get_addr_utxo
    coins.pop(txi)
KeyError: u'64-CHAR-HASH-EDITED-FOR-PRIVACY:18'

Edit3: Ok, looks like temporal server switch from ecdsa.net to electrum.no-ip.org is fixing the error that it is giving on second transaction. I can send continuous transactions on electrum.no-ip.org without any errors.

sorry about that. it should work now