In anticipation of an alpha release of the wallet encryption code, I have tweaked the installer code so that it installs MultiBit in "portable mode".

It loads up wallets as specified in a multibit.properties that is stored in the same directory as the install (rather than the MultiBit user data directory). This is so that your real wallets aren't exposed to the alpha code.

You can see what I mean if you look at the wallet path in this screen shot:

This only affects the 0.5.0alpha code (i.e NOT the download on the website) and I will remove it when the code is a bit more mature.You will probably need Administrator rights to write wallets to the default install directory but you can always install it somewhere else if that is a problem.

Right. The way I intended chained txns to be used is that buyers pass free transactions to merchants/receivers. The merchant then decides as and when to attach a fee and get confirms. Therefore the only people who pay fees are those receiving coins across a trust boundary. If you trust the sender to not double spend, you don't need to attach a fee (or indeed broadcast at all)

Right. The way I intended chained txns to be used is that buyers pass free transactions to merchants/receivers. The merchant then decides as and when to attach a fee and get confirms. Therefore the only people who pay fees are those receiving coins across a trust boundary. If you trust the sender to not double spend, you don't need to attach a fee (or indeed broadcast at all)

genius! I vaguely remember an effort to switch fee-burden to recipient via protocol/rule changes. This is so much more elegant and less invasive.

There are the usual installers for Windows and Linux and a Mac DMG file. (install help - but use the 0.5.0alpha installers)

The readme.txt is important to read.It is in the installers/ DMG file but I have included it at the bottom of this post too.

Your feedback is very welcome.

---------------README.TXT---------------

MultiBit 0.5.0alpha is a test version of MultiBit that supports encrypted wallets. Please try it out cautiously.

This is NOT production code yet so please read the following notes:

1) The encryption algorithm and/ or wallet persistence format may be improved between now and the production version. Any change will most likely make any wallets you create in MultiBit 0.5.0alpha unreadable by the final 0.5.x release. Older pre-encryption wallets will be read ok. It is just not worth supporting a wallet format that we intentionally improve on during the alpha test period.

It is recommended you create a test directory and save any wallets you create for testing in there. Then if the wallet format/ encryption routines change you can just open the wallets using MultiBit 0.5.0alpha, transfer the bitcoin out and throw the test wallets away.

2) There is a lot of new code that has been added to MultiBit to support encrypted wallets. New code usually means new bugs. For this reason I have temporarily altered the MultiBit build so that MultiBit 0.5.0alpha opens in 'portable mode'. It has its own startup file (multibit.properties) so that it does not open your 'real' MultiBit wallets.

At this stage do not put large amounts of bitcoin in the encrypted wallets just in case there is a bug that zaps your private keys. Do an export of your private keys to be on the safe side. You can probably use the testnet - see the configuration.txt - but I never bother and just use the production network with small amounts of bitcoin.

I have managed to zap my private keys a couple of times in development so please be careful!

3) Let me know if you have any problems even if they are difficult to reproduce or a little vague. Improving the code now may save someone's hard earned bitcoins in the future.

4) Caveats aside - I hope you like the new encrypted wallets functionality. :-)

Currently the MultiBit DMG file is not signed with an Apple Developer key. When you download the DMG file and try to open it you get the rather abrupt error message:"MultiBit-[version number]” is damaged and can’t be opened. You should eject the disk image.

I have written up the fix, which is to change the default security settings, and updated the MultiBit help accordingly.

private keys recoveredIn the end Scarecrow Magick managed to recover all but 0.03 BTC by recovering the private key from his wallet directly.

Checking the code, writing the protobuf wallets now uses a "write to temp file, rename, delete old" technique so this problem should not occur in any recent code.

local caching of blocksOn another note, a while ago I experimented with simply caching the blocks as they come down the wire into a directory on your machine. Nothing fancy. I am going to put it into the 0.5.x codebase with it being switched on with a property in the multibit.properties file. It gives people a way to trade off disk space (currently 3.1 GB) for faster block replay. It works but it is not finished yet.

I have a machine that sustains 6 MB/s reads from disk and it gives me 200/ 100/ 50 blocks per second for early blocks / 2011 blocks / more recent blocks. A full block replay takes about 20 minutes. A modern desktop machine should give 50 MB/s and an SSD ten times that (though no doubt something else will be rate limiting for SSD).

To cache the blocks is not really the "right" way to manage the blockchain for an SPV client. It will be far better to have a server side bloom filter. I am going to put it in anyway as it will help us cope with the blockchain in the meantime.

The translation for dutch is almost completed. (not yet approved though, when is it gonna get approved?)Though, I can't figure out what the following words should be translated into since i don't know what it means or what it is.

For the 'approved' label I think crowdin.net have that for when there are larger teams (or perhaps someone managing a team in a company). I have given you 'proofreader' rights so you can go in and approve everything in Dutch now.

I think 'serialised' and 'protobuf' are probably best left as proper nouns/ import words and not translated. They are mentioned on the UI and in the help for if someone uses different versions of MultiBit. They refer to the format the wallets are stored in. I have written up some help for it here:

Both phrases refer to the wallet format. Serialised is the 'old' format, protobuf the new one. It appears as information if you click on the wallet details triangle.For the German translation, I translated serialised literally into German ('serialisiert'), and regarding protobuf I translated it 'protobuf' because it is a name.

Just generated a vanity address, imported it in the clear, securely deleted, then exported to encrypted .key file.

These might be stupid questions, but how do I1) stop MultiBit from generating new addresses2) delete the new addresses it generated and their associated private keys that I never used...... so that the only address I have access to is the vanity one (or any future vanities that I generate)?

MultiBit will only generate new addresses and private keys when you click on the 'New' button on the Request tab but there is one automatically generated when you create a new wallet which you do not want.

At the moment there is no way to delete addresses - it is a limitation on the UI I am going to fix in the next round of UI tidy up. I am thinking of doing:

1) show the balance on each receiving address/ private key so that you can see which have zero BTC. 2) have a right click / delete that opens a confirmation dialog.3) on the dialog get the user to type in a couple of randomly generated letters shown on the dialog (as you are deleting private keys that other people may have the address for).

That will enable you to have a wallet with just your single vanity address in.

In parallel with testing etc of the encrypted wallets I plan to do some UI tidy up.

I have tweaked the sidepanel as shown below:

This has the following changes:+ removes the swatch support (which has been pretty much replaced by bitcoin URI links)+ moved the icons for the side panel to the top+ removed the "More" and "Less" buttons and replaced them with a custom "separator hugging icon"

This will appear in the the next production release (0.4.7) and the code I will put into the 0.5.x code too.These changes were suggested by freemoney a couple of months ago.