The wallet switching user experience is currently sub par on all platform. You must either manipulate folders (and risk screwing up) or use the command line.
I offer here a nicer solution for Mac Os X: Use one Bitcoin.app per wallet, and put the wallet inside the application bundle.
It creates a standalone, portable Bitcoin.app that can be copied around and run as is on any Mac, or stored on an encrypted partition.
Here's the procedure to create a new, empty wallet
(it could be automated, but I'm not there yet).
1) Create a copy of the Bitcoin.app and put it in your encrypted partition (let's call it BitSafe.app, for a "bank safe"-type wallet).
2) open the terminal (Terminal.app) and type
cat > start.sh
dir1=$(cd "$(dirname "$0")"; pwd)
dir=`echo $dir1 | sed 's/"/\\"/g' | tr -d '\n'`
then press ctrl + d
3) Again, from the prompt, type chmod +x start.sh
to make the script executable.
4) now, we must edit the Info.plist file in order to tell OS X to launch our script instead of directly running the bitcoin binary. Type nano ../Info.plist
. From there, find the following lines
and replace bitcoin
You should also change the Bitcoin
strings corresponding to the CFBundleDisplayName
(or whatever strikes your fancy). This will change the Application name in the menu bar.
Once you're done, press ctrl + o
then ctrl + x
6) Save a backup copy of the file (it will wake it easier to create new integrated App+Wallet bundles).
You can now open BitSafe.app. A new wallet will be generated inside BistSafe.app. You can have as many of them as you like, and you can move them around for backups and so on.
If you want to copy an existing wallet
(located by default in /Users/YourUserName/Library/Application Support/Bitcoin
), you must go inside the Bitcoin.app package. From the Finder, right click on Bitsafe.app
and pick the "Show Package Contents"
option. It will an open new Finder window. From there, go to Contents/Resources/data
. You can paste your wallet.dat and other resource files here.
Updating the Bitcoin client:
If a new version of the BitCoin client is released, you can update the binary inside the Bundle. Right click the new Bitcoin.app file and choose Show Package Contents
. From there, copy the bitcoin
file located in Contents/MacOS/
file and paste it at the same place inside the BitSafe.app package.
I've tried to change the LSMultipleInstancesProhibited from true to false, but it doesn't allow to run multiple Bitcoin clients simultaneously (even if I change the CFBundelIdentifier entry). I'd love to know if it is possible to overrule that behaviour?