diff --git a/docs/key-manager/server-key-manager.md b/docs/key-manager/server-key-manager.md index 3c677eb101..04b377190e 100644 --- a/docs/key-manager/server-key-manager.md +++ b/docs/key-manager/server-key-manager.md @@ -83,6 +83,10 @@ To do this, you will need the seed file name to be `walletName-encrypted-bitcoin if you want it to be the default wallet. To load it, just set the `bitcoin-s.wallet.walletName` config option to the appropriate wallet name. +When restoring from a backup you should not replace an existing seed file as this can result in a loss of funds. +If you have a seed file that would replace an existing seed its file name should be prefixed with a different wallet name. +If you do replace a seed file you will need to delete the old wallet database associated with that wallet. + You may need to run a wallet rescan to restore funds, this can be done by using the `rescan` RPC command. For example, if you wanted to restore your `rickRollWallet`, you would place your backup at `~/.bitcoin-s/seeds/rickRollWallet-encrypted-bitcoin-s-seed.json` diff --git a/docs/wallet/wallet-rescan.md b/docs/wallet/wallet-rescan.md index b164274fb4..6a1dcd5367 100644 --- a/docs/wallet/wallet-rescan.md +++ b/docs/wallet/wallet-rescan.md @@ -4,15 +4,40 @@ id: wallet-rescan --- With [BIP157](https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki) you can cache block filters locally to use -later for rescans in the case you need to restore your wallets. Our [chain](../applications/chain.md) project gives us +later for rescans in the case you need to restore your wallets. Our [chain](../chain/chain.md) project gives us an API with the ability to query for filters. +### Rescan from CLI + +To execute a rescan from the cli because you are restoring a wallet or it has gotten out of sync is fairly simple. + +If you have an empty wallet it can be done by simply calling rescan +```bash +./bitcoin-s-cli rescan +``` + +If your wallet is not empty then you will need to call it with the force command +```bash +./bitcoin-s-cli rescan --force +``` + +You can also specify start and stop heights +```bash +./bitcoin-s-cli rescan --start --stop +``` + +By default, if you do not set the start height, the rescan will begin at your wallet's creation time. +If you wish to ignore this and start from genesis use the `ignorecreationtime` flag +```bash +./bitcoin-s-cli rescan --ignorecreationtime +``` + +### Code Example + You can rescan your wallet with filters with [`WalletApi.rescanNeutrinoWallet()`](https://github.com/bitcoin-s/bitcoin-s/blob/master/core/src/main/scala/org/bitcoins/core/api/wallet/NeutrinoWalletApi.scala#L77) -### Example - -To run this example you need to make sure you have access to a bitcoind binary. You can download this with bitcoin-s by doing -`sbt downloadBitcoind` +To run this example you need to make sure you have access to a bitcoind binary. +You can download this with bitcoin-s by doing `sbt downloadBitcoind` ```scala mdoc:invisible import org.bitcoins.testkit.BitcoinSTestAppConfig