... However, please consider the electrum-way of doing this (random seed, mnemonic phrase to memorize).

I actually really like the electrum-way for making seeds memorable. It's a really slick technique. But the current wallet design in Armory requires 512 bits of data to recover the wallet. Electrum uses 128 bits, which takes 12 words to represent. If I were to leech the idea right now, the user would be memorizing 50 words!

However, after beta when I get the new wallet format implemented, I'll probably be dropping to 160-bit wallet seeds, which would be about 15 words. That's do-able.

cool! looking forward to that. Maybe you could even use the electrum wordlist? that way, I could just use my electrum sentence (adding 3 more words) which I already remembered (or course giving me a different set of addresses).

Armory Version 0.79.99 -- Initial Testing releaseI didn't have time to compile for all architectures -- but I got 64-bit windows and 64-bit-Linux compiled (with an attempt at static compiling python, so it may actually work on any 64-bit linux...) I have tested most of the features in both Windows and Linux, and there's no hint of a problem with anything. This is mainly due to the fact that everything I changed in the C++ code was transparent to the UI-layer: I hardly had to change any python code to get it to work! This is very satisfying.

Windows 64-bit installer: Load Time: Slower! My VM is loading in 80 seconds. Yes, that is unacceptable, and will be adding between-load memory so it only does it the first time. RAM Usage: 700 MB -- this time that RAM usage is a hard-number: it's not going to scale with programs opening and closing. On the upside, it should be no more than 200 MB, and I just have to find out where I'm allocating memory and not cleaning it up (luckily, there does not appear to be a time-dependent memory leak).

(1) There's no reason this won't work in Windows 32-bit, I just have to get it compiling and built, there.

(2) This version isn't going to look a lot different. In fact, it's not supposed to. But it's got entirely new architecture under-the-hood for blockchain scanning, which I have actually tested and maintains consistent data through a blockchain-file-split. Previous versions will stop working when that happens... in about 2 weeks.

(3) If you are on 64-bit linux and normally use the python2.7 version, please try installing and running this version using the

Code:

dpkg -i --force-depends armory_0.79.99*.deb

The static compiling went way too smoothly, which suggests maybe I didn't actually do it right... Please let me know if it works!

(4) I think that the unconfirmed balances are fixed. They definitely had an error before (counting change-to-self as unconfirmed).

A few minor tweaks here and there, but it should work the same at 0.77.

Please help test! Testing really just means, install it and use it like you would the previous version, and let me know if there's any strange/undersirable behavior, and/or any crashes!

on a offline machine, I generated 10 private keys using a brainwallet scheme, importet them into a fresh armory wallet and put the addresses and a watch-only version of the wallet onto a usb stick.

I then sent 20 BTC to one of the addresses using an online machine.

Then I constructed a transaction using the watch-only wallet that would send 10 BTC to an external address, signed it using the offline machine and deleted the wallet on the offline machine (I wanted to test losing the machine)! I wrongly figured I'd be safe, because I could always regenerate the private keys using my brainwallet scheme. Stupid, stupid, stupid.

I totally didn't think of the fact that armory would send the 10 BTC change to a newly generated address. In fact, I didn't think of the 10 BTC change at all at that point... so I fucked up and the 10 is gone. Well, lesson learned.

I'd really like to use a brainwallet scheme that doesn't require me to safekeep anything physical (assuming I'm magically transported to some other location, totally naked, and I want my coins)

Is it possible to have armory send the change to one of the existing imported addresses instead of to a newly generated one? Maybe a special wallet type could be made up (imported addresses only)?

Just use send-multi to spend the whole balance of that imported address. One output will be your desired destination address, another output will be your desired change address.If you can forget to use send-multi from your brain wallet address, then you can equally forget to mark checkbox somewhere to use imported addresses only.

EDIT: in UI send-multi is probably called something like "Add another recipient"

on a offline machine, I generated 10 private keys using a brainwallet scheme, importet them into a fresh armory wallet and put the addresses and a watch-only version of the wallet onto a usb stick.

I then sent 20 BTC to one of the addresses using an online machine.

Then I constructed a transaction using the watch-only wallet that would send 10 BTC to an external address, signed it using the offline machine and deleted the wallet on the offline machine (I wanted to test losing the machine)! I wrongly figured I'd be safe, because I could always regenerate the private keys using my brainwallet scheme. Stupid, stupid, stupid.

I totally didn't think of the fact that armory would send the 10 BTC change to a newly generated address. In fact, I didn't think of the 10 BTC change at all at that point... so I fucked up and the 10 is gone. Well, lesson learned.

I'd really like to use a brainwallet scheme that doesn't require me to safekeep anything physical (assuming I'm magically transported to some other location, totally naked, and I want my coins)

Is it possible to have armory send the change to one of the existing imported addresses instead of to a newly generated one? Maybe a special wallet type could be made up (imported addresses only)?

Just use send-multi to spend the whole balance of that imported address. One output will be your desired destination address, another output will be your desired change address.If you can forget to use send-multi from your brain wallet address, then you can equally forget to mark checkbox somewhere to use imported addresses only.

send-multi...? will this work? How to select the source address?

forget checkbox: the "use imported addresses only" checkbox I have to set exactly once when I construct the wallet.

Just use send-multi to spend the whole balance of that imported address. One output will be your desired destination address, another output will be your desired change address.If you can forget to use send-multi from your brain wallet address, then you can equally forget to mark checkbox somewhere to use imported addresses only.

send-multi...? will this work? How to select the source address?

forget checkbox: the "use imported addresses only" checkbox I have to set exactly once when I construct the wallet.

It works!Create new armory wallet with just one imported address from your brain.That will be your source address as there aren't any others.When sending coins, add desired destination address first,then "add another recipient" and choose your second brain address as a change.

EDIT: by the way, according to devs, you can even use your original source address as your change address that way, but I haven't tried it.

EDIT2: the only drawback of send-multi is that you have to manually calculate the change balance so that the whole source is spent, but that's hardly an obstacle.

EDIT3: from network perspective a regular transaction with change is a send-multi with two outputs, the only difference is that client forms it implicitly, but you can always make it explicit.Also if you need to send more coins than one particular address has, then import several addresses with enough balance and use the same send-multi to spend the whole balance of that wallet.

Just use send-multi to spend the whole balance of that imported address. One output will be your desired destination address, another output will be your desired change address.If you can forget to use send-multi from your brain wallet address, then you can equally forget to mark checkbox somewhere to use imported addresses only.

EDIT: in UI send-multi is probably called something like "Add another recipient"

Yes, this does work. And I will be adding a "MAX" button that will fill in the maximum remaining amount (total balance minus values you've already plugged in for other recipients and fee). It means you're moving your entire balance every time, but it doesn't actually make any difference (unless you care about the age of your coins). In fact, it's probably better as it would always keep all your savings in a single address...

I know that doesn't solve molec's problem, but it's something that always bothered me about other programs, that should be plenty easy to add.

Just use send-multi to spend the whole balance of that imported address. One output will be your desired destination address, another output will be your desired change address.If you can forget to use send-multi from your brain wallet address, then you can equally forget to mark checkbox somewhere to use imported addresses only.

EDIT: in UI send-multi is probably called something like "Add another recipient"

Yes, this does work. And I will be adding a "MAX" button that will fill in the maximum remaining amount (total balance minus values you've already plugged in for other recipients and fee). It means you're moving your entire balance every time, but it doesn't actually make any difference (unless you care about the age of your coins). In fact, it's probably better as it would always keep all your savings in a single address...

I know that doesn't solve molec's problem, but it's something that always bothered me about other programs, that should be plenty easy to add.

Also, you could just make a paper backup of the offline wallet

oh yeah, I did that now

interlagos: thanks for the send-multi "trick", that's pretty cool.

I switched over to using a wholly different method now: I'm now using the strongcoin offline javascript stuff (slightly modded to add brainwallet sha256 calculation, so I don't even have to do that in the shell) to generate and sign a transaction (sending complete amount of one of the addresses) and inject that using http://bitsend.rowit.co.uk/.

I kindof like this method for it's simplicity and down-to-earthness.

I still use armory to view my little wealth in the watch-only wallet.

I just sent all my savings to my brain. It feels weird, but I feel very confident that I will be able to access it safely and that it wont get stolen.

thanks, guys for helping me with this not-so-easy (it does take balls to a certain extent and I was really nervous at times) process of moving my savings to a brainwallet.

Given that testing is going so smoothly, hopefully I'll have something to release this week!

I have a bunch of little things to do, but none of it will be major functionality -- mainly a "Help-->About" window, adding a couple buttons, cleaning up some dialogs, and some other general polishing. And I need some time for folks to get back to me with any bugs/complaints.

I also want to spend some time developing user-documentation. I expect a flurry of new users once Armory gets the official "Beta" tag, and thus I should be a little more prepared for that. I don't want to delay the release just for that, but I also don't want to be unprepared for the new users.

Any last-minute requests for minor additions/improvements? On my list I have:

Help-->About windowHelp-->Help link to webpageMemory-pool-corruption preventionAdding a "MAX" buttonLabeling addresses in your wallets that were created for changeFixing stretching/resizing of a couple windowsUpdate intro dialog and splash screen to match current capabilities (like warning about 3 min load times on XP!)

The current Armory version cannot parse transactions with inputs directly from mined coins. Maybe you could add that functionality? (For P2Pool payouts, etc.)

Also, like other users have said, it would be very useful to choose which coins you use for inputs to a transaction.

I actually took the time to fix the coinbase transactions, a long time ago. But it seems that I re-broke it since then... and I've been too busy to investigate it. I guess now is a good time to do it! However, some unusual behaviors (mainly with unconfirmed balance) was fixed in 0.79.99. Maybe that too? Have you tested it with that version? Either way, I'll go hunt down an address that is used to receive P2Pool coinbases and check it out.

Adding a coin-control feature won't be too difficult, but it affects transaction creation and sending, so I don't want to rush it. I want time to be really careful, and give myself lots of time to play with it and test it, so it won't go into Beta. But it will be one of the first things I add after Beta.

I do have libpython2.7.a in "/usr/local/lib/python2.7/config/libpython2.7.a" What is the proper way to put that in the Makefile?

Also, it would be really nice if the dependency directory was easy to change. Something like a variable at the top of the file just like in the Satoshi client Makefile. I'm always having to edit the Armory Makefile to change the paths to "/usr/local/include" for my Mac.