Difference between revisions of "Create a new wallet for your data directory"
Line 1: | Line 1: | ||
When you just need a fresh new wallet, but wish 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]]. | When you just need a fresh new wallet, but wish 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]]. | ||
− | |||
− | |||
__TOC__ | __TOC__ |
Revision as of 17:28, 17 November 2023
When you just need a fresh new wallet, but wish 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.
Contents
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:
- close Bisq
- rename the data directory from
Bisq
toBisq.old
(this is equivalent to creating a backup copy, as the original contents are still on your disk) - start Bisq
- you will see a completely new Bisq instance appear, and a new data directory will be created (including a new wallet, which is the one we will soon be using to replace the old one)
- go to Account > Wallet seed and write down the seed of the new wallet, as a precautionary measure
- go to Funds > Receive Funds and copy the first btc receive address, pasting it into a separate text file for later use
- go to DAO > BSQ Wallet > Receive and copy the BSQ receive address of the new wallet, pasting it into your notes
- close Bisq
- rename the newly created data directory, from
Bisq
toBisq.new
, and rename the previous directory fromBisq.old
toBisq
- 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 of your BTC now, there would 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
- close Bisq
- within the data directory, navigate to the contents of
btc_mainnet
and rename thewallet
folder towallet.old
- copy the
wallet
folder from the same location inBisq.new
, into thebtc_mainnet
folder of the "old" data directory, so that now there will bewallet
andwallet.old
folders underbtc_mainnet
- 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
- 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 the old one is empty
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:
- close Bisq
- navigate to your data directory and into the
btc_mainnet
folder - rename the
wallet
folder towallet.old
- 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.