1

Platform: Windows Version: Monero 14.0.2 x64

It seems like due to some recent updates, I'm no longer able to use monero-wallet-rpc to make calls to my wallet while the GUI is running because the GUI has a lock on the wallet file.

Is there a way to simultaneously have the GUI running and make calls using monero-wallet-rpc? Here is the monero-wallet-rpc.log

2019-04-09 14:00:35.448 4620    WARN    wallet.rpc  src/wallet/wallet_rpc_server.cpp:3402   Loading wallet...
2019-04-09 14:00:35.588 4620    ERROR   wallet.wallet2  src/wallet/wallet2.cpp:4585 !is_keys_file_locked(). THROW EXCEPTION: error::wallet_internal_error
2019-04-09 14:00:35.595 4620    ERROR   wallet.rpc  src/wallet/wallet_rpc_server.cpp:3445   Wallet initialization failed: internal error: "xxxxxxx.keys" is opened by another wallet program

1 Answer 1

2

To my knowledge, it's never been possible to have more than one process that is using the same wallet at the same time.

Should you need to run both the GUI and the wallet RPC at the same time, you can duplicate (and rename) the wallet files so you use one for the GUI and one for the RPC. They can both use the same daemon and will be operating on the same keys, but independent files. You will still be able to send and receive funds from both, but bare in mind, sending from one wont show in the other without a rescan of spent outputs.

Lastly of course, depending on your use case, you could run one of the wallets as a view-only wallet and the other as a normal view & spend. For this you would create a view-only wallet.

7
  • Dang! This used to work before Fall '18 hard fork. Is there any inherent danger in copy my keys file to another node and using it just to pull some read-only data like transaction history? Apr 9, 2019 at 14:59
  • Honestly I don't recall that ever being possible, but yes, creating another wallet with the same keys is a valid workaround. You don't need another "node" for a duplicate wallet, just copy & rename the wallet file(s) and start the wallet RPC pointing to the duplicate wallet.
    – jtgrassie
    Apr 9, 2019 at 15:14
  • That's very helpful! I was worried if there might be some kind of divergence or inherent danger in copying the wallet file and using one process to transact and the other to check transactions. Apr 9, 2019 at 15:22
  • The downside is seeing spent in both wallets. If you spend in say the GUI, the RPC won't know until you instruct it to rescan/refresh, or vice versa. Depends on your use case. Of course having one as just a view only wallet is probably the best way to go.
    – jtgrassie
    Apr 9, 2019 at 16:01
  • I'd just need to do a rescan_spent, not a full rescan_blockchain, correct? Apr 9, 2019 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.