<p>The most straightforward way to do this with Bitcoin-Qt/bitcoind (at this moment) is to swap the <code>wallet.dat</code> in your bitcoin data directory <em>when the client is not running</em>.</p>

<p>Another method (if you're on a UNIX-ish OS) is to create multiple data directories, then symbolic link (ln -s) the <code>blocks</code> and <code>chainstate</code> directories (not <code>database</code>) inside your datadirs to a common data dir. </p>

<pre><code>mkdir ~/.bitcoin-alt  # new wallet directory
cd ~/.bitcoin-alt
ln -s ~/.bitcoin/blocks ~/.bitcoin/chainstate .
# launch new wallet
bitcoin-qt -datadir=$HOME/.bitcoin-alt
</code></pre>

<p>Then you can leave the wallet.dat alone. When launching you can specify a <code>-datadir</code> based on the wallet that you want to use, and it will share the blockchain dirs. </p>

<p><em>However</em> even with this solution cannot run two bitcoind/bitcoin-qt instances at the same time sharing the block chain! This is currently not possible and will result in corruption if you try.</p>

CC BY-SA 3.0
2014-05-06T21:58:29.790Z
You cannot use hardlinks to span drives. You probably meant junctions (symlinks) which will span local drives via reparse points.
adam
CC BY-SA 3.0
2016-10-15T20:08:21.770Z
These days, won't that trigger a lengthy [rescan](http://bitcoin.stackexchange.com/questions/1249/how-exactly-does-rescan-work) every time you switch between wallets?  Does the [automatic rescan](https://bitcointalk.org/index.php?topic=6642.msg99812#msg99812) only go through new blocks created since the last one the wallet witnessed?
rkagerer
CC BY-SA 3.0
2016-10-17T07:50:38.213Z
It will have to scan the span of blocks between when the wallet was last used and now. There's only a problem in case the block chain is pruned and doesn't have those blocks anymore, in which case it currently has to redownload from the beginning (this is not a protocol limitation, but re-downloading other ranges of blocks is not implemented as of now).
laanwj
CC BY-SA 3.0
2013-05-09T14:58:54.520Z
You can also create hard links on Windows if you're using NTFS.  I used one to put my Bitcoin directory on a separate drive.
Julian Goldsmith
CC BY-SA 3.0
2013-05-09T12:40:48.027Z
2013-05-09T12:47:29.797Z
2013-05-09T12:47:29.797Z
laanwj
<p>Since the blockchain is such a large file, I'd like to have more than 1 account on the same computer share it.  Is that possible?</p>

CC BY-SA 3.0
2013-05-09T19:49:06.520Z
possible duplicate of [Is there a way to change the wallet.dat location without changing the entire data directory?](http://bitcoin.stackexchange.com/questions/3449/is-there-a-way-to-change-the-wallet-dat-location-without-changing-the-entire-dat)
Stephen Gornick
CC BY-SA 3.0
2013-05-10T15:10:34.113Z
Not a duplicate: sharing it among different users will present more problems than just moving the directory.
o0'.
<wallet>
Separate wallets sharing the same blockchain?
RentFree
# Separate wallets sharing the same blockchain?

(Asked by: username_0 on 2013-05-09)

Since the blockchain is such a large file, I'd like to have more than 1 account on the same computer share it. Is that possible?

**Tags:** wallet

> **Comments:**
> **username_1**: possible duplicate of [Is there a way to change the wallet.dat location without changing the entire data directory?](http://bitcoin.stackexchange.com/questions/3449/is-there-a-way-to-change-the-wallet-dat-location-without-changing-the-entire-dat)  
> **username_2**: Not a duplicate: sharing it among different users will present more problems than just moving the directory.  

---

## 1 answers

### Answer by username_3 on 2013-05-09. Score: 5 | Accepted answer

The most straightforward way to do this with Bitcoin-Qt/bitcoind (at this moment) is to swap the `wallet.dat` in your bitcoin data directory *when the client is not running*.

Another method (if you're on a UNIX-ish OS) is to create multiple data directories, then symbolic link (ln -s) the `blocks` and `chainstate` directories (not `database`) inside your datadirs to a common data dir.

```
mkdir ~/.bitcoin-alt  # new wallet directory
cd ~/.bitcoin-alt
ln -s ~/.bitcoin/blocks ~/.bitcoin/chainstate .
# launch new wallet
bitcoin-qt -datadir=$HOME/.bitcoin-alt

```

Then you can leave the wallet.dat alone. When launching you can specify a `-datadir` based on the wallet that you want to use, and it will share the blockchain dirs.

*However* even with this solution cannot run two bitcoind/bitcoin-qt instances at the same time sharing the block chain! This is currently not possible and will result in corruption if you try.

> **Comments:**
> **username_6**: You can also create hard links on Windows if you're using NTFS.  I used one to put my Bitcoin directory on a separate drive.  
> **username_4**: You cannot use hardlinks to span drives. You probably meant junctions (symlinks) which will span local drives via reparse points.  
> **username_5**: These days, won't that trigger a lengthy [rescan](http://bitcoin.stackexchange.com/questions/1249/how-exactly-does-rescan-work) every time you switch between wallets?  Does the [automatic rescan](https://bitcointalk.org/index.php?topic=6642.msg99812#msg99812) only go through new blocks created since the last one the wallet witnessed?  
> **username_3**: It will have to scan the span of blocks between when the wallet was last used and now. There's only a problem in case the block chain is pruned and doesn't have those blocks anymore, in which case it currently has to redownload from the beginning (this is not a protocol limitation, but re-downloading other ranges of blocks is not implemented as of now).  

---

