Bluewallet: Fail to connect to Electrum (EPS/Electrs) on build 1585585391 and above

Created on 1 Apr 2020  路  2Comments  路  Source: BlueWallet/BlueWallet

Reports from test Builds 1585585391 and above.

iOS: https://testflight.apple.com/join/8KtgcwC6
android: https://github.com/BlueWallet/BlueWallet/releases/tag/v5.2.0

  • Fail to connect from EPS and Electrs on local network (under VPN?), both on TCP and TLS

Working on ElectrumX on both TCP and TLS

Reports from:
https://t.me/bluewallet/19007
https://t.me/mynode_btc/31052

bug electrum

Most helpful comment

I run EPS in a docker container on a Raspberry Pi. EPS is configured for several mpk's and watch addresses. I have an Electrum software client that connects to this server successfully without any errors. But, when I configure BlueWallet to connect to it, it errors out and actually causes my EPS container to crash and restart again. Looking at the logs on my EPS server, it displays the following:

INFO:2020-04-01 12:47:49,114: Obtaining bitcoin addresses to monitor . . .
INFO:2020-04-01 12:52:57,886: Obtained list of addresses to monitor in 310.0071451663971sec
INFO:2020-04-01 12:52:57,888: Building history with 4005 addresses . . .
INFO:2020-04-01 12:53:02,139: Found 119 txes. History built in 2.9398772716522217sec
INFO:2020-04-01 12:53:02,142: Starting electrum server
INFO:2020-04-01 12:53:02,703: Listening for Electrum Wallet on ('0.0.0.0', 50002)
INFO:2020-04-01 12:53:12,366: Electrum connected from 192.168.0.125
Traceback (most recent call last):
  File "/home/bitcoinuser/.local/bin/electrum-personal-server", line 10, in <module>
    sys.exit(main())
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 856, in main
    run_electrum_server(rpc, txmonitor, config)
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 577, in run_electrum_server
    broadcast_method, tor_hostport)
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 134, in handle_query
    method = query["method"]
TypeError: list indices must be integers or slices, not str

It looks like something might not be getting passed as the right type within EPS. I originally though it might have been EPS not configured for all of the mpk/addresses that BlueWallet is configured to check for, but after deleting a specific wallet in Bluewallet, BW is definitely only looking for MPKs that are setup in EPS. The 192.168.0.125 address is the IP address of BlueWallet in the log, so it appears as if it initially connects, but crashes shortly after. Let me know how I can help with testing.

All 2 comments

I run EPS in a docker container on a Raspberry Pi. EPS is configured for several mpk's and watch addresses. I have an Electrum software client that connects to this server successfully without any errors. But, when I configure BlueWallet to connect to it, it errors out and actually causes my EPS container to crash and restart again. Looking at the logs on my EPS server, it displays the following:

INFO:2020-04-01 12:47:49,114: Obtaining bitcoin addresses to monitor . . .
INFO:2020-04-01 12:52:57,886: Obtained list of addresses to monitor in 310.0071451663971sec
INFO:2020-04-01 12:52:57,888: Building history with 4005 addresses . . .
INFO:2020-04-01 12:53:02,139: Found 119 txes. History built in 2.9398772716522217sec
INFO:2020-04-01 12:53:02,142: Starting electrum server
INFO:2020-04-01 12:53:02,703: Listening for Electrum Wallet on ('0.0.0.0', 50002)
INFO:2020-04-01 12:53:12,366: Electrum connected from 192.168.0.125
Traceback (most recent call last):
  File "/home/bitcoinuser/.local/bin/electrum-personal-server", line 10, in <module>
    sys.exit(main())
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 856, in main
    run_electrum_server(rpc, txmonitor, config)
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 577, in run_electrum_server
    broadcast_method, tor_hostport)
  File "/home/bitcoinuser/.local/lib/python3.7/site-packages/electrumpersonalserver/server/common.py", line 134, in handle_query
    method = query["method"]
TypeError: list indices must be integers or slices, not str

It looks like something might not be getting passed as the right type within EPS. I originally though it might have been EPS not configured for all of the mpk/addresses that BlueWallet is configured to check for, but after deleting a specific wallet in Bluewallet, BW is definitely only looking for MPKs that are setup in EPS. The 192.168.0.125 address is the IP address of BlueWallet in the log, so it appears as if it initially connects, but crashes shortly after. Let me know how I can help with testing.

EPS specific fixes were made in https://github.com/BlueWallet/BlueWallet/pull/940 and should be out in next release.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

elkimek picture elkimek  路  6Comments

Overtorment picture Overtorment  路  3Comments

wanxewoj picture wanxewoj  路  4Comments

marcondy picture marcondy  路  3Comments

Blockgazer picture Blockgazer  路  7Comments