electrum-personal-server
electrum-personal-server copied to clipboard
'Wallet file not specified' error
Occasionally, after EPS has been running fine for a while, it hangs (stops accepting connections from clients) and when I restart it this is the error it spews out. I then cannot get it back working until I restart the local core node it's connected to.
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: INFO:2020-09-08 06:18:29,038: Log level set to DEBUG
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: INFO:2020-09-08 06:18:29,038: Starting Electrum Personal Server 0.2.1.1
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: INFO:2020-09-08 06:18:29,038: Logging to /tmp/electrumpersonalserver.log
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: DEBUG:2020-09-08 06:18:29,038: Process ID (PID) = 6714
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: DEBUG:2020-09-08 06:18:29,038: obtaining auth from rpc_user/pass
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: ERROR:2020-09-08 06:18:29,041: JsonRpcError({'code': -19, 'message': 'Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path).'})
Sep 08 06:18:29 btcnode electrum-personal-server[6714]: ERROR:2020-09-08 06:18:29,041: Wallet related RPC call failed, possibly the bitcoin node was compiled with the disable wallet flag
Would appreciate help in debugging this. Happens on Ubuntu 20.
Thanks for the bug report. Right now I don't know what the cause might be.
I today encountered the same error on my EPS instance. The only change I made in the meantime is that I connected specterd instance to the same full node. As I understand, specter relies fully on bitcoind wallet management. Could it theoretically interfere when running at the same time with EPS?
I, too, have had specter running connected to the same node. But I believe the problem happens even when specter isn’t running.
On Tue, 15 Sep 2020 at 18:35 misovan [email protected] wrote:
I today encountered the same error on my EPS instance. The only change I made in the meantime is that I connected specterd instance to the same full node. As I understand, specter relies fully on bitcoind wallet management. Could it theoretically interfere when running at the same time with EPS?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chris-belcher/electrum-personal-server/issues/212#issuecomment-692797143, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALLI6UJLBBCSDMC3I5T7N63SF6CTPANCNFSM4Q7J2XFA .
Do you have EPS configured to use the default bitcoin core wallet? (i.e. "")
If you have multiple wallets loaded in bitcoin core, and having EPS configured to use the default wallet ("") EPS reports the error message from core: Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path).
Using EPS configured with an explicit wallet name (wallet_filename
in config.ini) alleviates the problem. I think this is because EPS provides a wallet file URL only when a wallet file name is provided. Blank is not considered a filename, and so no URL is used in the http request to bitcoind.
https://github.com/chris-belcher/electrum-personal-server/blob/78241c7c163cb015bdf382e6b0ddfd3543c4093f/electrumpersonalserver/server/jsonrpc.py#L30-L33
@jmacxx you are exactly right, thank you for your insight. I set up new eps wallet using bitcoin-cli createwallet "eps/myepswallet"
, put it to EPS's config.ini and EPS started flawlessly as a result. I as well listed existing wallets with bitcoin-cli and the issue has been related to the fact that specter created their own wallets causing default wallet path for EPS not working. I believe issue can be closed.
Today I just encountered the very same problem, also after installing and running Specter Desktop (that created its own Bitcoin Core wallets). I believe I've found a way how to keep using default Bitcoin Core wallet with the EPS:
- Add
main.wallet = wallet.dat
(or justwallet = wallet.dat
into[main]
section) line into bitcoin.conf - that way the name of the default Bitcoin Core wallet will be wallet.dat and not an empty string (you can test this with bitcoin-cli listwallets command) - In EPS config.ini set
wallet_filename = wallet.dat
this did not work for me trying to set this up today i tried @hodlnym option and still got this error soydepr@penguin:~/eps$ electrum-personal-server config.ini INFO:2021-04-03 11:23:27,850: Starting Electrum Personal Server 0.2.1.1 INFO:2021-04-03 11:23:27,866: Logging to /tmp/electrumpersonalserver.log ERROR:2021-04-03 11:23:27,898: Error with bitcoin json-rpc: JsonRpcError({'code': -28, 'message': 'Loading block index...'}) ERROR:2021-04-03 11:23:37,931: JsonRpcError({'code': -18, 'message': 'Requested wallet does not exist or is not loaded'}) ERROR:2021-04-03 11:23:37,931: Wallet related RPC call failed, possibly the bitcoin node was compiled with the disable wallet fla
soydepr@penguin:~/bitcoin/bin$ ./bitcoin-cli listwallets [ ]
bitcoin.conf txindex=1 server=1 rpcuser=xxxxxxxxxxxxxxxxxxxxxxxxx rpcpassword=xxxxxxxxxxxxxxxxxxxxx main.wallet = wallet.dat
config.ini wallet_filename = wallet.dat