openoms / joininbox

A terminal based graphical menu for JoinMarket
MIT License
153 stars 20 forks source link

Bitcoin Core version v23.0.0 creates descriptor wallet by default #88

Closed openoms closed 2 years ago

openoms commented 2 years ago

Reported on TG: https://t.me/raspiblitz/107470

Traceback (most recent call last):
  File "/home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py", line 6, in <module>
    jmprint(wallet_tool_main("wallets"), "success")
  File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 1525, in wallet_tool_main
    load_program_config(config_path=options.datadir)
  File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/configure.py", line 763, in load_program_config
    global_singleton.bc_interface = get_blockchain_interface_instance(
  File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/configure.py", line 898, in get_blockchain_interface_instance
    bc_interface = BitcoinCoreInterface(rpc, network,
  File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/blockchaininterface.py", line 200, in __init__
    raise Exception(
Exception: JoinMarket currently does not support Bitcoin Core descriptor wallets, use legacy wallet (rpc_wallet_file setting in joinmarket.cfg) instead. See docs/USAGE.md for details.
bitcoind --version
Bitcoin Core version v23.0.0
bitcoin-cli listwallets
[
  "wallet.dat"
]
₿ bitcoin-cli getwalletinfo
{
  "walletname": "wallet.dat",
  "walletversion": 169900,
  "format": "sqlite",
  "balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoolsize": 4000,
  "keypoolsize_hd_internal": 4000,
  "paytxfee": 0.00000000,
  "private_keys_enabled": true,
  "avoid_reuse": false,
  "scanning": false,
  "descriptors": true,
  "external_signer": false
}
openoms commented 2 years ago

Manual solution in the raspiblitz admin terminal (or joinmarket if using standalone):

# Check if the wallet is empty (it should be unless you do something manual with bitcoin-cli):
bitcoin-cli getwalletinfo

# unload
bitcoin-cli unloadwallet wallet.dat

# move (just in case)
sudo mv /mnt/hdd/bitcoin/wallet.dat /mnt/hdd/bitcoin/descriptors

# create a non-descriptor wallet
bitcoin-cli -named createwallet wallet_name=wallet.dat descriptors=false
openoms commented 2 years ago

fixed - will be part of the next release