Difference between revisions of "Create a new wallet for your data directory"

From Bisq Wiki
Jump to navigation Jump to search
Line 41: Line 41:
 
# rename the newly created data directory, for example to <code>Bisq.new</code>, and rename the previous directory from <code>Bisq.old</code> to <code>Bisq</code>
 
# rename the newly created data directory, for example to <code>Bisq.new</code>, and rename the previous directory from <code>Bisq.old</code> to <code>Bisq</code>
 
# start Bisq
 
# start Bisq
 +
# you will be back into your old Bisq instance
 
# go to ''DAO'' > ''BSQ Wallet'' > ''Send'' and send all your BSQ balance to the BSQ receive address of the new wallet (this needs to be done first! if you moved out all your BTC, there will be none left to pay for the mining fees to move the BSQ)
 
# go to ''DAO'' > ''BSQ Wallet'' > ''Send'' and send all your BSQ balance to the BSQ receive address of the new wallet (this needs to be done first! if you moved out all your BTC, there will be none left to pay for the mining fees to move the BSQ)
 
# go to ''Funds'' > ''Send Funds'' and move all your BTC balance to the BTC receive address of the new wallet
 
# go to ''Funds'' > ''Send Funds'' and move all your BTC balance to the BTC receive address of the new wallet

Revision as of 17:20, 17 November 2023

When you just need a fresh new wallet, but want want to keep everything else (accounts, signing status, onion address, trade history, notifications app association, and other custom settings), it is easier and faster to only generate a new wallet for Bisq, rather than switching to a new data directory.

WORK IN PROGRESS

Why creating a new wallet?

Being a project built in Java, Bisq uses bitcoinj, which is a Java library to manage a bitcoin wallet, among other things. This comes with some known limitations, among which is the heavy performance hit when the wallet is old, and contains many transactions, this being especially aggravating when a user needs to do a SPV resync, as it will take a significant amount of time during which the PC will suffer from high load. With old-time and very active traders, who have many past transactions built up in their wallet, this is even more at risk of happening, and causes a forced interruption in trading, as SPV resync must be completed before the application can resume its operativity.

Recreating a completely new Bisq wallet will eliminate the issue, at least for the near future (running your personal Bitcoin node also helps a lot with stability), at the same time preserving all the accrued reputation of your payment accounts, your full trading history, and your existing onion address, by which your previous trading peers will be able to recognize you.

Preparations

Make sure the following checklist is observed:

  • no existing open offers (delete them -this will make you lose the fees- or wait until they are taken, and their respective trades are completed)
  • no existing open trades (wait until they are completed)
  • no existing disputes (wait until their resolution)
  • consistent wallet state (go to Funds > Send Funds, and for each btc address containing funds, verify its balance actually exists by searching the address on mempool.space, otherwise do a SPV resync and repeat)

Caveats

The provided instructions are safe as long as you don't make mistakes, which could amount to:

  • deleting a folder instead of renaming it
  • using a wrong address to send funds to

The above mistakes can easily lead to loss of funds, which we obviously are not liable for.

Instructions

If the above requirements are met, and you understood the caveats, assuming you have BTC (and probably BSQ as well) in your old wallet, you can follow the procedure outlined below:

  1. close Bisq
  2. rename the data directory, for example to Bisq.old (this is equivalent to creating a backup copy, as the original contents are still on your disk)
  3. start Bisq
  4. a completely new data directory will be created (including a new wallet, which is the one we will soon be using to replace the old one)
  5. go to Account > Wallet seed and write down the seed of the new wallet, as a precautionary measure
  6. go to Funds > Receive Funds and copy the first btc receive address, pasting it into a separate text file for later use
  7. go to DAO > BSQ Wallet > Receive and copy the BSQ receive address of the new wallet, pasting it into your notes
  8. close Bisq
  9. rename the newly created data directory, for example to Bisq.new, and rename the previous directory from Bisq.old to Bisq
  10. start Bisq
  11. you will be back into your old Bisq instance
  12. go to DAO > BSQ Wallet > Send and send all your BSQ balance to the BSQ receive address of the new wallet (this needs to be done first! if you moved out all your BTC, there will be none left to pay for the mining fees to move the BSQ)
  13. go to Funds > Send Funds and move all your BTC balance to the BTC receive address of the new wallet
  14. close Bisq
  15. within the data directory, navigate to the contents of btc_mainnet and rename the wallet folder to wallet.old
  16. copy the wallet folder from the same location in Bisq.new, into the btc_mainnet folder of the "old" data directory, so that now there will be wallet and wallet.old folders under btc_mainnet
  17. start Bisq, wait until wallet is synchronized with the blockchain, and verify that all your funds were correctly moved, checking the contents of Funds > Send Funds, and DAO > BSQ Wallet
  18. you can now operate normally with Bisq, knowing that the brand new wallet will be used instead of the old one

Create a new wallet when no funds exist in Bisq

If you wish to switch to a brand new wallet, and there are no funds (anymore) in the previous one, the procedure is much simpler:

  1. close Bisq
  2. navigate to your data directory and into the btc_mainnet folder
  3. rename the wallet folder to wallet.old
  4. start Bisq, notice a new wallet was created, write down the new seed

Disaster recovery

In case you made some mistakes along the way and things don't work as they should, and provided you never deleted anything, but rather renamed the folders as suggested above, you can go back to the starting point by simply making sure, after closing Bisq, that the data directory gets back to its original state, that is, Bisq.old is renamed to Bisq, and, if you got to that point, wallet.old to wallet.

Cleanup

Only after you are absolutely sure everything is in order, and if you need to free up as much disk space as possible, you can delete the Bisq.new and wallet.old folders.