Author

Topic: [Round #5] Final Testing Release Before Armory v0.88 (Read 6430 times)

sr. member
Activity: 448
Merit: 250
it doesnt start  Cry

i'll stay in stand by for new versions Smiley
sr. member
Activity: 448
Merit: 250
btw. is it possible to get some data from armory via RPC/API?

I would like to check balances of my paper wallets without blockchain.info via such an API.

I created "armoryd" which is included, but it's extremely minimal.  I was waiting for some of the stability issues to go away before expanding it any more.  But it will run for multiple days at a time before crashing, so it may still be useful for some low-importance activities Smiley  (the crashing is an artifact of the way it tracks the blk*.dat files, which is going away with the upcoming update).

appreciated Smiley thank you. I will check and repost on news
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
btw. is it possible to get some data from armory via RPC/API?

I would like to check balances of my paper wallets without blockchain.info via such an API.

I created "armoryd" which is included, but it's extremely minimal.  I was waiting for some of the stability issues to go away before expanding it any more.  But it will run for multiple days at a time before crashing, so it may still be useful for some low-importance activities Smiley  (the crashing is an artifact of the way it tracks the blk*.dat files, which is going away with the upcoming update).
sr. member
Activity: 448
Merit: 250
btw. is it possible to get some data from armory via RPC/API?

I would like to check balances of my paper wallets without blockchain.info via such an API.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer

I removed it because it's no longer a testing release!  It's now available on the BitcoinArmory download page.

It doesn't work for everyone.  But if it does work for you, it seems to be flawless.  Otherwise it won't even start.  Good luck! Smiley
sr. member
Activity: 448
Merit: 250
Quote

the link doesn't work for me  Undecided

EDIT: loaded from website

EDIT2: you were faster. thanks anyway Smiley
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Hey, I think you should fix that!. Where I placed the red circle/ellipse thingy, I think the text should be fully centered (to allow seeing the decimals without wasting the space) instead of starting on the middle like it is currently. What do you think?

Yeh, I guess I could bring it in a little bit.  The goal is to make sure the decimal place is lined up for all rows, so that 112.5 doesn't "look the same" as 1.125.  For that, I need to reserve some space on the left side.  But I agree, there's probably too much there.
hero member
Activity: 506
Merit: 500
Hey, I think you should fix that!. Where I placed the red circle/ellipse thingy, I think the text should be fully centered (to allow seeing the decimals without wasting the space) instead of starting on the middle like it is currently. What do you think?

legendary
Activity: 1792
Merit: 1111
Thanks for fixing the problem. However, why would you want to reduce the timeout from 0.01s to 0.001s? Would there be any noticeable difference?

That check happens in the main thread, which means it blocks until it's done.  That means the GUI will be unresponsive for up to 0.01s on each call.  If this function was called every 0.1 seconds, the interface would be jittery and laggy.  It's not called that often, but in the future I might want to... 

So, I want the value as low as possible unless I want to go through the hassle of somehow multithreading it.  Since it's localhost, I figured 0.001s was more than enough time anyway.  And I was right... for all systems except Windows Server 2008, apparently...

Oh well.  I reverted it back to 0.01s, which isn't a problem when it's called at most once-per-second, and I'm sure it will have minimal impact.  I just have to be careful if I want to increase that frequency. 



Not sure if it is the problem of all Windows Server 2008 R2 or just my own problem. You may try, let say, reduce it to 0.005s and see if it works on my system
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Thanks for fixing the problem. However, why would you want to reduce the timeout from 0.01s to 0.001s? Would there be any noticeable difference?

That check happens in the main thread, which means it blocks until it's done.  That means the GUI will be unresponsive for up to 0.01s on each call.  If this function was called every 0.1 seconds, the interface would be jittery and laggy.  It's not called that often, but in the future I might want to... 

So, I want the value as low as possible unless I want to go through the hassle of somehow multithreading it.  Since it's localhost, I figured 0.001s was more than enough time anyway.  And I was right... for all systems except Windows Server 2008, apparently...

Oh well.  I reverted it back to 0.01s, which isn't a problem when it's called at most once-per-second, and I'm sure it will have minimal impact.  I just have to be careful if I want to increase that frequency. 

legendary
Activity: 1792
Merit: 1111
https://github.com/etotheipi/BitcoinArmory/commit/e0bcd9db6fe2e459c5d01290655e83e9632a36ab

Thanks for fixing the problem. However, why would you want to reduce the timeout from 0.01s to 0.001s? Would there be any noticeable difference?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Whoops!  I accidentally changed the makefile, and the Linux installers didn't work on systems with python2.7.  I have repackaged them and posted them to the top post.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
A minor buglet:

The time estimate when loading the block chain is completely off.  It takes 2-3 min to load, most of the time it estimates the remaining time to 18 min.  This is undoubtedly because it only uses the number of block files read to make the estimate, but since I upgraded the Satoshi client from 0.7 to 0.8 I have three huge files, and around 15 small ones after that one.

Worse is full-blockchain-download estimator.  Those things are tough to do right!  I had to cap it at 8 hours to avoid it saying "187 years" when the download pauses.  I have all these ideas to improve it, but I have also spent an unfortunate amount of time dealing with it already. 

The 0.7 thing will go away over time, especially with forced upgrades to 0.8.1.  I won't stress too much about it.  Though I suppose it wouldn't be too hard to actually look at the size of those blockfiles...

But even that will become irrelevant when I get the persistent blockchain stuff (coming soon!)
hero member
Activity: 547
Merit: 500
Decor in numeris
A minor buglet:

The time estimate when loading the block chain is completely off.  It takes 2-3 min to load, most of the time it estimates the remaining time to 18 min.  This is undoubtedly because it only uses the number of block files read to make the estimate, but since I upgraded the Satoshi client from 0.7 to 0.8 I have three huge files, and around 15 small ones after that one.
hero member
Activity: 506
Merit: 500
Ack, I forgot to mention (and it will be at the top of the release notes):

Windows users must uninstall the previous version before installing this new one.  If you've already installed the new version, reinstall/repair it.

Oh wow, that worked, had to fully remove and install. Nice to see someone so dedicated to create the best bitcoin wallet for power users.

PD: I was having problems with the 0.87.2 version, most times when I tried to do a transaction Armory gave a runtime error as soon as I entered the wallet password and hit enter. I tried reinstalling/ deleting mempool, with no improvement. Weird enough, the latest beta (this one) fixed my issue.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Ack, I forgot to mention (and it will be at the top of the release notes):

Windows users must uninstall the previous version before installing this new one.  If you've already installed the new version, reinstall/repair it.
hero member
Activity: 506
Merit: 500
The latest release is still not working for me, and the log file is pretty much the same. What can I do?

Gah, I forgot about you.  There should be more information in there this time.  I added a bunch of good debugging output. 

Can you remind me what is wrong?  And send me the log file again, just in case it did catch something new.  Thanks for being so patient.  I'll figure it out!

Hey, for me it isn't working, as soon as I run it it closes, and if I click to see the details of the crash it points to msvcr90.dll , I have it installed and everything.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
The latest release is still not working for me, and the log file is pretty much the same. What can I do?

Gah, I forgot about you.  There should be more information in there this time.  I added a bunch of good debugging output. 

Can you remind me what is wrong?  And send me the log file again, just in case it did catch something new.  Thanks for being so patient.  I'll figure it out!
legendary
Activity: 1792
Merit: 1111
The latest release is still not working for me, and the log file is pretty much the same. What can I do?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Non-US Users.  Please help me test!  Need unicode/non-en-us users to try it.

The new auto-bitcoind stuff came with a host of critical unicode issues.  In the past, such issues were simply annoying, but didn't actually prevent users from using Armory.  Now it did.  I have upgraded the critical paths to handle unicode, and added warnings for everything else.   One exception to unicode handling is that you cannot use unicode in your bitcoin.conf username or password, and only in Windows!  (it works fine in Linux)  Otherwise, I'm hoping this will go a lot better than before!

See the top post for details!
https://bitcointalksearch.org/topic/m.1655941
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Please check top post for updates!  This is starting to look like a real release!  Finally!

https://bitcointalksearch.org/topic/m.1655941

I can only spend so much time polishing and trying to catch all the little things.  I think a lot of people are actually having problems with resources, not the auto-bitcoind (and a few with auto-bitcoind). 

Last thing before starting down the resource-reduction path:  OSX packages! 
Then persistent blockchain stuff.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
You can always do a "factory reset" to clear all your settings via the Help menu, "Revert All Settings".  Start over and work through settings one-by-one until it breaks Smiley  I can probably put in temporary unicode fixes for particular things, as long as they don't ever touch the wallet.
hero member
Activity: 784
Merit: 1000
EDIT: Now after I installed the version of bitcoind from the official Ubuntu repository Armory can see it, but I still can not open the settings window, so I guess it's an independent problem.

I'm fairly certain it's a unicode issue.  The installation path or datadir have a unicode character in them, and it's breaking the settings.  This is one reason I'm anxious to do the new wallets and just clear this up once and for all.  Do you still see a unicode error in the log file?



Ah, sure, now to clarify I didn't have any bitcoind installed before, I was under the impression that bitcoin-qt should be bundled with bitcoind until I installed it, the same error message still show up in the log file, I don't have any unicode character in my bitcoind/data path, and consider that the character in question is Chinese character for "year", it may have something to do with the date, which is actually represented in Chinese in my system.(Ubuntu 12.04).
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
EDIT: Now after I installed the version of bitcoind from the official Ubuntu repository Armory can see it, but I still can not open the settings window, so I guess it's an independent problem.

I'm fairly certain it's a unicode issue.  The installation path or datadir have a unicode character in them, and it's breaking the settings.  This is one reason I'm anxious to do the new wallets and just clear this up once and for all.  Do you still see a unicode error in the log file?

hero member
Activity: 784
Merit: 1000
Okay Alan, I compiled 0.87.94-beta, after startup it prompted me that the bitcoind installation cannot be found, I tried to point it to the location of the installation, by clicking the "Change Settings" button in the dashboard, or the "Settings" item in the menu, both gave no response, no window popped up, instead, the console showed the following error message whenever I tried:

Quote
Traceback (most recent call last):
  File "ArmoryQt.py", line 716, in openSettings
    dlgSettings = DlgSettings(self, self)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdialogs.py", line 9913, in __init__
    'specified format.' % exampleStr )
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 203, in __init__
    self.setText(txt, **kwargs)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 206, in setText
    text = str(text)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5e74' in position 232: ordinal not in range(128)

So it seem like a encoding support problem(FYI u+5e74 is the unicode representation for the Chinese character meaning year), I don't know how difficult it's to sort this out, if you can't please just tell me what configurations I should change on my part to make it work.

Yeah, Armory has no unicode support yet.  It would've been trivial if I had known from the beginning what "unicode" is and how to support it... but I didn't.  I haven't been able to upgrade it, because I didn't want to risk breaking the wallet code (fixed-width fields overflow with unicode characters).

However, I'm totally revamping wallets in the near future, so I will go through and upgrade all of Armory with it.  It shouldn't be too hard, I just don't want to risk coin-losing bugs by upgrading the old wallets in a hurry, and they're going to be obsolete soon, anyway.

For now, let's see if I can get around this for you.  Is it failing because of a custom bitcoind installation path?  Or does it fail anyway?  In the ArmorySettings.txt file, do you see fields with non-ASCII characters?  I can probably work around a specific instance of unicode problems, I just can't upgrade the whole app, yet.


I don't see any non-ASCII characters in the setting file, to test it for the bitcoind installation path I think I should use command-line options as the GUI is not working right now?

EDIT: Now after I installed the version of bitcoind from the official Ubuntu repository Armory can see it, but I still can not open the settings window, so I guess it's an independent problem.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Okay Alan, I compiled 0.87.94-beta, after startup it prompted me that the bitcoind installation cannot be found, I tried to point it to the location of the installation, by clicking the "Change Settings" button in the dashboard, or the "Settings" item in the menu, both gave no response, no window popped up, instead, the console showed the following error message whenever I tried:

Quote
Traceback (most recent call last):
  File "ArmoryQt.py", line 716, in openSettings
    dlgSettings = DlgSettings(self, self)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdialogs.py", line 9913, in __init__
    'specified format.' % exampleStr )
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 203, in __init__
    self.setText(txt, **kwargs)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 206, in setText
    text = str(text)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5e74' in position 232: ordinal not in range(128)

So it seem like a encoding support problem(FYI u+5e74 is the unicode representation for the Chinese character meaning year), I don't know how difficult it's to sort this out, if you can't please just tell me what configurations I should change on my part to make it work.

Yeah, Armory has no unicode support yet.  It would've been trivial if I had known from the beginning what "unicode" is and how to support it... but I didn't.  I haven't been able to upgrade it, because I didn't want to risk breaking the wallet code (fixed-width fields overflow with unicode characters).

However, I'm totally revamping wallets in the near future, so I will go through and upgrade all of Armory with it.  It shouldn't be too hard, I just don't want to risk coin-losing bugs by upgrading the old wallets in a hurry, and they're going to be obsolete soon, anyway.

For now, let's see if I can get around this for you.  Is it failing because of a custom bitcoind installation path?  Or does it fail anyway?  In the ArmorySettings.txt file, do you see fields with non-ASCII characters?  I can probably work around a specific instance of unicode problems, I just can't upgrade the whole app, yet.
hero member
Activity: 784
Merit: 1000
Okay Alan, I compiled 0.87.94-beta, after startup it prompted me that the bitcoind installation cannot be found, I tried to point it to the location of the installation, by clicking the "Change Settings" button in the dashboard, or the "Settings" item in the menu, both gave no response, no window popped up, instead, the console showed the following error message whenever I tried:

Quote
Traceback (most recent call last):
  File "ArmoryQt.py", line 716, in openSettings
    dlgSettings = DlgSettings(self, self)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdialogs.py", line 9913, in __init__
    'specified format.' % exampleStr )
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 203, in __init__
    self.setText(txt, **kwargs)
  File "/home/****/BitcoinArmory/BitcoinArmory/qtdefines.py", line 206, in setText
    text = str(text)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5e74' in position 232: ordinal not in range(128)

So it seem like a encoding support problem(FYI u+5e74 is the unicode representation for the Chinese character meaning year), I don't know how difficult it's to sort this out, if you can't please just tell me what configurations I should change on my part to make it work.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Code:
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1104 - Setting up networking...
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1149 - Internet connection is Available: True
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1150 - Bitcoin-Qt/bitcoind is Available: 0

That 0 is returned when it can't communicate with Bitcoin-Qt/bitcoind (it normally returns the port number on which it was found, though by default it only searches one port).  Is it possible that you are using different command line arguments for it?  Bitcoin.conf file?

I'm really at a loss for this one...


No command line qrguments for bitcoinqt. bitcoin.conf is

Code:
rpcuser=generated_by_armory
rpcpassword=hidden

Can you PM me the top of the log file so I can see what directories and ports it's choosing.  This isn't adding up...
legendary
Activity: 1792
Merit: 1111
Code:
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1104 - Setting up networking...
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1149 - Internet connection is Available: True
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1150 - Bitcoin-Qt/bitcoind is Available: 0

That 0 is returned when it can't communicate with Bitcoin-Qt/bitcoind (it normally returns the port number on which it was found, though by default it only searches one port).  Is it possible that you are using different command line arguments for it?  Bitcoin.conf file?

I'm really at a loss for this one...


No command line qrguments for bitcoinqt. bitcoin.conf is

Code:
rpcuser=generated_by_armory
rpcpassword=hidden
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Code:
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1104 - Setting up networking...
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1149 - Internet connection is Available: True
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1150 - Bitcoin-Qt/bitcoind is Available: 0

That 0 is returned when it can't communicate with Bitcoin-Qt/bitcoind (it normally returns the port number on which it was found, though by default it only searches one port).  Is it possible that you are using different command line arguments for it?  Bitcoin.conf file?

I'm really at a loss for this one...
legendary
Activity: 1792
Merit: 1111
The automatic mode calls bitcoind successfully, but stopped at inititalizing bitcoin engine. Nothing interesting in log.

Strange question:  is your clock UTC or local?  I ran into an infinite-initializing problem when my clock was set wrong.  Now that I bring it up myself, I guess I should actually make it clock-independent.

I've conceded that some OS will just have to do manual mode (OSX, probably XP).  But I'm not sure why that broke for you.  Can you check the log after trying it in manual mode?

Local. Nothing interesting in log:

Code:
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1104 - Setting up networking...
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1149 - Internet connection is Available: True
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1150 - Bitcoin-Qt/bitcoind is Available: 0
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1207 - loadBlockchainIfNecessary
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1253 - Setting netmode: 0
2013-04-02 01:07 (INFO) -- ArmoryQt.py:3505 - Switching Armory state text to Mgmt:User, State:OfflineNoSatoshi
2013-04-02 01:07 (INFO) -- ArmoryQt.py:3447 - Switching Armory functional mode to "Offline"
2013-04-02 01:07 (INFO) -- ArmoryQt.py:530 - Usermode: Expert
2013-04-02 01:07 (INFO) -- ArmoryQt.py:951 - Changing usermode:
2013-04-02 01:07 (INFO) -- ArmoryQt.py:952 -    From: Expert
2013-04-02 01:07 (INFO) -- ArmoryQt.py:960 -      To: Expert
2013-04-02 01:07 (INFO) -- armoryengine.pyc:10196 - Signature on signed data block is GOOD!
2013-04-02 01:07 (INFO) -- ArmoryQt.py:1087 - You are running the latest version!
2013-04-02 01:07 (INFO) -- armoryengine.pyc:10539 - Called stopBitcoind
2013-04-02 01:07 (INFO) -- armoryengine.pyc:10541 - ...but bitcoind is not running, to be able to stop
2013-04-02 01:07 (INFO) -- ArmoryQt.py:4586 - Attempting to close the main window!
2013-04-02 01:07 (INFO) -- ArmoryQt.py:4690 - Resetting BlockDataMgr, freeing memory
2013-04-02 01:07 (INFO) -- armoryengine.pyc:711 -
2013-04-02 01:07 (INFO) -- armoryengine.pyc:712 -



Just moved back to 0.87.2 and everything is fine
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
The automatic mode calls bitcoind successfully, but stopped at inititalizing bitcoin engine. Nothing interesting in log.

Strange question:  is your clock UTC or local?  I ran into an infinite-initializing problem when my clock was set wrong.  Now that I bring it up myself, I guess I should actually make it clock-independent.

I've conceded that some OS will just have to do manual mode (OSX, probably XP).  But I'm not sure why that broke for you.  Can you check the log after trying it in manual mode?
legendary
Activity: 1792
Merit: 1111
The automatic mode calls bitcoind successfully, but stopped at inititalizing bitcoin engine. Nothing interesting in log.
legendary
Activity: 1792
Merit: 1111
It's even worse

Error: "The specified module could not be found. LoadLibrary(pythondll) failed"

Error: "C:\Program Files (x86)\Armory\Armory Bitcoin Client\PYTHON27.DLL

That's happened before when there's been some kind of messup in the install directory.  Can you completely uninstall it and remove the C:\Program Files (x86)\Armory directory.  Then reinstall.  It should go away. 

I never quite figured out what conditions cause that...

I reinstall using the "repair" and it works now. However, it still can't detect bitcoin-qt in "traditional mode"
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
It's even worse

Error: "The specified module could not be found. LoadLibrary(pythondll) failed"

Error: "C:\Program Files (x86)\Armory\Armory Bitcoin Client\PYTHON27.DLL

That's happened before when there's been some kind of messup in the install directory.  Can you completely uninstall it and remove the C:\Program Files (x86)\Armory directory.  Then reinstall.  It should go away. 

I never quite figured out what conditions cause that...
legendary
Activity: 1792
Merit: 1111
It's even worse

Error: "The specified module could not be found. LoadLibrary(pythondll) failed"

Error: "C:\Program Files (x86)\Armory\Armory Bitcoin Client\PYTHON27.DLL
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Okay, I fixed a big bug that had to do with non-standard --satoshi-datadir settings.  Hopefully that is resolved in both Linux and Windows.  And a ton of other fixes, so I at least have more information if there are failures.  I still have not tested it in WinXP, so it probably won't work there, or any other XP-like OS.  But otherwise, it's starting to really come together.

The top post has been updated with the latest information.  Please try it out, in both Linux and Windows!  


legendary
Activity: 1428
Merit: 1093
Core Armory Developer
It doesn't work for me. I'm running Windows Server 2008 R2 64bit. bitcoind is launched automatically, blockchain is synchanized, but armory keeps saying "initializing bitcoin engine". I change it to the traditional mode but it keeps saying offline while bitcoin-qt is running. I have moved back to 0.87.2 and everything work as usual

Man, this is not going smoothly!  Are you using an non-standard configuration of any sort?  Can you send me a log file? 
legendary
Activity: 1792
Merit: 1111
This is one of the two major upgrades I need in order for Armory to be usable to users with shorter attention spans.  When this is working properly, you will never need to run Bitcoin-Qt/bitcoind again.  Just start Armory and it will do the rest.  

The other major upgrade is the resource usage and load time.  Those are both getting knocked out with the blockchain management/DB stuff.  That is top priority after this (including not rescanning every time).

I finally have a testing version in Windows (64-bit only).  This really is a remarkable P.I.T.A. ... and this is still quite a bit rough around the edges, but it's at least demo-ready.  A lot of time was spent making the download-and-run window for when you click "Install for me!".  Especially if you are running an old version of Bitcoin-Qt (not 0.8.1), please uninstall it and then run Armory and let it install it for you.  And don't worry, there is cryptographic verification of the installer before it runs it!  (see the top of versions.txt)

Linux users can still help test, but you have to use the "managesatoshi" branch and compile it yourself.



What I've done:

If you are running Bitcoin-Qt when you start Armory, it will now tell you to stop.  "Let Armory manage the Bitcoin software" is the default.  You will be told to either close Bitcoin-Qt, or change your settings (with a convenient button in the middle of the dashboard).   You can go into your settings and uncheck the box to carry on using Armory exactly as you used to.  Or you can leave it checked and just close Bitcoin-Qt/bitcoind.

If you do not have bitcoind installed or it is in a non-standard location, it will tell you to install it, or change your settings to point to where it is located.  I just spent a fair amount of time not only producing instructions for installing in Linux, but a "Do it for me!" button for the PPA.  It's experimental, but so far it has worked for me in two environments.  Please try this feature!  I want to find out if it is actually reliable (I actually don't know why it wouldn't be; it simply executes the 3 commands using gksudo, but I suppose it could choke if your package manager is broken, in which case I have no clue what happens).  (EDIT: yes I know gksudo is a gnome thing ... but if you are not using gnome, i.e. default Ubuntu, then you probably can handle setting up the PPA yourself or manually installing it).

I need help testing, especially from the Linux folks, because they're the ones most likely to have non-standard configurations that will break this.  I also need testing in non-Ubuntu environments.  I've done a lot of testing, but somehow I'm confident it won't be enough.  And I know there's still some things missing (like the count-down timer on the initial blockchain sync).   Also, bear in mind this version has a lot of debugging output left on, to help me figure out the code flow.  I'm sorry if it's annoying (it sometimes annoys me, too).



To use 0.87.8 (which will be 0.88 when it's released):

Linux:
-- Pull and switch branches: "git checkout managesatoshi"
-- Must install python-psutil package.  This is a new dependency to help with managing the background process.  It will be added to the next offline bundle.
-- Recompile

Windows:
-- http://dl.dropbox.com/u/1139081/ArmoryTestingReleases/armory_0.87.8-testing_win64.msi

Please mention everything that doesn't look right.  Most likely, configurations/combinations of options that lead to a dashboard that doesn't say the right thing, or buttons missing that should be there, etc.  Try out the new settings (renamed from "preferences").   One thing I threw on top was added a permanent "--skip-online-check" to the settings.  Try that out, too.

It doesn't work for me. I'm running Windows Server 2008 R2 64bit. bitcoind is launched automatically, blockchain is synchanized, but armory keeps saying "initializing bitcoin engine". I change it to the traditional mode but it keeps saying offline while bitcoin-qt is running. I have moved back to 0.87.2 and everything work as usual
sr. member
Activity: 430
Merit: 250
Crap, I guess I need to catch that condition!  At least I have access to that output so I can interpret the error message.

Also, having the bitcoind.exe in that directory is not normal.  It should be in the daemon directory.  I wonder if that's an ancient version of bitcoind.exe...?
Quite possibly. That would explain why it's not working with the new blockchain structure, I guess.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Crap, I guess I need to catch that condition!  At least I have access to that output so I can interpret the error message.

Also, having the bitcoind.exe in that directory is not normal.  It should be in the daemon directory.  I wonder if that's an ancient version of bitcoind.exe...?
sr. member
Activity: 430
Merit: 250
Gah!  I see the error, and not sure why it happened.  It looks like it's trying to run a non-existent bitcoind.exe.  Can you point it to the correct location in the settings file?  
C:\Program Files (x86)\Bitcoin\daemon\
Run it in offline mode to be able to open and change the settings.  Then continue testing.  

This is actually a wacky bug, because it's not supposed to try running BITCOIND_PATH unless it checks that it exists.  But somehow it found a non-existent one on your system!  I'll double-check the logic to see how that happened.


Nope, the bitcoind path is correct. It's not working even after explicitly setting it in the config. I'll keep on trying

The log file shows this:

Code:
Using: C:\Program Files (x86)\Bitcoin\bitcoind.exe

Does that file exist for you?

Yes, seems to be a problem with bitcoind:
Code:
************************
EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
c:\Program Files (x86)\Bitcoin\bitcoind.exe in AppInit()

terminate called after throwing an instance of 'DbRunRecoveryException'
  what():  DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

edit: ok, there are two bitcoind.exe files, one in the main bitcoin directory and another inside daemon/. Only the one in the daemon/ folder works, but armory crashes with the same error
Code:
2013-03-29 18:26 (INFO) -- ArmoryQt.py:1153 - Bitcoin-Qt/bitcoind is Available: 0
2013-03-29 18:26 (INFO) -- armoryengine.pyc:10283 - Found bitcoind in the following places:
2013-03-29 18:26 (INFO) -- armoryengine.pyc:10285 -    c:\Program Files (x86)\Bitcoin\daemon\bitcoind.exe
2013-03-29 18:26 (INFO) -- armoryengine.pyc:10285 -    C:\Program Files (x86)\Bitcoin\bitcoind.exe
2013-03-29 18:26 (INFO) -- armoryengine.pyc:10285 -    C:\Program Files (x86)\Bitcoin\daemon\bitcoind.exe
2013-03-29 18:26 (INFO) -- armoryengine.pyc:10287 - Using: c:\Program Files (x86)\Bitcoin\daemon\bitcoind.exe
2013-03-29 18:26 (ERROR) -- ArmoryQt.py:1192 - Failed to setup SDM
2013-03-29 18:26 (ERROR) -- Traceback (most recent call last):
  File "ArmoryQt.py", line 4559, in
  File "ArmoryQt.py", line 471, in __init__
  File "ArmoryQt.py", line 3912, in setDashboardDetails
ShouldNotGetHereError: Bitcoind Never started...?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Gah!  I see the error, and not sure why it happened.  It looks like it's trying to run a non-existent bitcoind.exe.  Can you point it to the correct location in the settings file? 
C:\Program Files (x86)\Bitcoin\daemon\
Run it in offline mode to be able to open and change the settings.  Then continue testing. 

This is actually a wacky bug, because it's not supposed to try running BITCOIND_PATH unless it checks that it exists.  But somehow it found a non-existent one on your system!  I'll double-check the logic to see how that happened.


Nope, the bitcoind path is correct. It's not working even after explicitly setting it in the config. I'll keep on trying

The log file shows this:

Code:
Using: C:\Program Files (x86)\Bitcoin\bitcoind.exe

Does that file exist for you?
sr. member
Activity: 430
Merit: 250
Gah!  I see the error, and not sure why it happened.  It looks like it's trying to run a non-existent bitcoind.exe.  Can you point it to the correct location in the settings file?  
C:\Program Files (x86)\Bitcoin\daemon\
Run it in offline mode to be able to open and change the settings.  Then continue testing.  

This is actually a wacky bug, because it's not supposed to try running BITCOIND_PATH unless it checks that it exists.  But somehow it found a non-existent one on your system!  I'll double-check the logic to see how that happened.


Nope, the bitcoind path is correct. It's not working even after explicitly setting it in the config. I'll keep on trying

edit: ok, bitcoind itself crashes on start with
Code:
************************
EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
c:\Program Files (x86)\Bitcoin\bitcoind.exe in AppInit()

terminate called after throwing an instance of 'DbRunRecoveryException'
  what():  DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Gah!  I see the error, and not sure why it happened.  It looks like it's trying to run a non-existent bitcoind.exe.  Can you point it to the correct location in the settings file? 
C:\Program Files (x86)\Bitcoin\daemon\
Run it in offline mode to be able to open and change the settings.  Then continue testing. 

This is actually a wacky bug, because it's not supposed to try running BITCOIND_PATH unless it checks that it exists.  But somehow it found a non-existent one on your system!  I'll double-check the logic to see how that happened.

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Windows 64-bit users:  there's now a Windows version available for "testing".

http://dl.dropbox.com/u/1139081/ArmoryTestingReleases/armory_0.87.8-testing_win64.msi

I say "testing" because this is really just a sanity check -- it's still fairly rough around in edges, in terms of accommodating all the different configurations.  If you are not upgraded to 0.8.1 yet, uninstall Bitcoin-Qt and install the new Armory and let it download and install the new one for you (yes, there's cryptographic verification to make sure you're getting the right files! see the top of versions.txt).  Let me know how the process goes! 

There will be issues.  Please help find them!  One issue I'm concerned about (but haven't seen happen recently), is Armory closing and leaving bitcoind.exe running in the background.  That shouldn't happen anymore, but I can't know for sure until people try it.  If it does happen, please tell me what you did.  I don't want to have to add a "kill" button to the dashboard, but I'm ready to if necessary Undecided

This has taken way too much time, but I'm fairly certain it's almost done!  Help me test it!
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Code:
~/BitcoinArmory $ git pull
Already up-to-date.
I do make clean and compile one more time and I have  still same error


Can you email or PM me the whole log file.  I suspect there's some logged messages higher up that indicate what happened.   The specific error you pasted for me is actually way after the root of the error.
member
Activity: 72
Merit: 10
Code:
~/BitcoinArmory $ git pull
Already up-to-date.
I do make clean and compile one more time and I have  still same error
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
When's the last time you did a git pull?  I have actually been updating the branch pretty constantly, trying to add the new features.  I see that error all the time, but it usually goes away with a quick update.  Check for the latest version, and then also try changing your settings instead of using the command line (I mean, both should work), but I just want to get more info about what does and does not work).

By the way...
Why it takes 2.1GB RSS memory and scan all data every run ?

After this update, both of those concerns will be fixed.  Right now, it's added a tremendous amount of simplicity and robustness to Armory, doing a rescan and holding a bunch of [now-very-large] lookup tables in RAM.  Not having to store any persistent, corrupt-prone data between loads is a huge benefit.  But now Armory has been ironed out so well, and resource usage is so high, that this will be the first thing I address after this update is done (both RAM usage and not rescanning every load).




member
Activity: 72
Merit: 10
Before upgrade everything works.
I use Gentoo.

When bitcoin-qt is not running i got:
Code:
$ python2.7 BitcoinArmory/ArmoryQt.py  --skip-version-check --satoshi-datadir=/media/var/.bitcoin/
(ERROR) ArmoryQt.py:1170 - Failed to setup SDM
Setting netmode: 0
(ERROR) Traceback (most recent call last):
  File "BitcoinArmory/ArmoryQt.py", line 4470, in
    form = ArmoryMainWindow()
  File "BitcoinArmory/ArmoryQt.py", line 466, in __init__
    self.setDashboardDetails()
  File "BitcoinArmory/ArmoryQt.py", line 3853, in setDashboardDetails
    raise ShouldNotGetHereError, 'Bitcoind Never started...?'
ShouldNotGetHereError: Bitcoind Never started...?

Traceback (most recent call last):
  File "BitcoinArmory/ArmoryQt.py", line 4470, in
    form = ArmoryMainWindow()
  File "BitcoinArmory/ArmoryQt.py", line 466, in __init__
    self.setDashboardDetails()
  File "BitcoinArmory/ArmoryQt.py", line 3853, in setDashboardDetails
    raise ShouldNotGetHereError, 'Bitcoind Never started...?'
armoryengine.ShouldNotGetHereError: Bitcoind Never started...?

When bitcoin-qt is running:
Code:
$ python2.7 BitcoinArmory/ArmoryQt.py --skip-online-check --skip-version-check --satoshi-datadir=/media/var/.bitcoin/^C
(ERROR) ArmoryQt.py:1170 - Failed to setup SDM
Setting netmode: 0
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
SDM       :  BitcoindNeverStarted BDM       :         Uninitialized
[...]
When I unset "Let armory run bitcoin in background" Eveything works.

By the way...
Why it takes 2.1GB RSS memory and scan all data every run ?
hero member
Activity: 784
Merit: 1000
Thanks, do I need to download the blockchain again to test?

Not necessary.  Though, if your Bitcoin-Qt home directory (-datadir) is non-standard, it might create one in the standard place and start redownloading.  You can change the settings and restart.  It will pick up where Bitcoin-Qt last left off.



Yeah, I put the data directory in a non-standard position, but I always start Armory using the satoshi-datadir option, I guess I would be OK then?

Also do I need to delete the old installation? And if I am super paranoid and want to backup the wallet files do I just copy them somewhere else? Thanks.

You will end up with a fresh new download starting at zero percent in the default location.  You can either start it with the --satoshi-datadir option, or you can start it regularly, and change the options to point at the non-standard location, then restart.  If you do it the second way, it will create the default --satoshi-datadir and start downloading.  I guess you could combine the two:  start with --satoshi-datadir, then change the settings to make it permanent.

I'm not sure a better way to do this.  I need to make the process mostly-transparent to new users:  I don't want to walk them through a confusing process when they don't even know what my program is or what Bitcoin is.  I'd rather it "just work".  And for users that have been using Bitcoin-Qt in the default locations:  well it should "just work" by picking up where they last left off with Bitcoin-Qt.  (this means that for switching from Bitcoin-Qt to Armory, it should be actually quite painless).



Ah, thanks, anyway I would just go testing it and report the result.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Thanks, do I need to download the blockchain again to test?

Not necessary.  Though, if your Bitcoin-Qt home directory (-datadir) is non-standard, it might create one in the standard place and start redownloading.  You can change the settings and restart.  It will pick up where Bitcoin-Qt last left off.



Yeah, I put the data directory in a non-standard position, but I always start Armory using the satoshi-datadir option, I guess I would be OK then?

Also do I need to delete the old installation? And if I am super paranoid and want to backup the wallet files do I just copy them somewhere else? Thanks.

You will end up with a fresh new download starting at zero percent in the default location.  You can either start it with the --satoshi-datadir option, or you can start it regularly, and change the options to point at the non-standard location, then restart.  If you do it the second way, it will create the default --satoshi-datadir and start downloading.  I guess you could combine the two:  start with --satoshi-datadir, then change the settings to make it permanent.

I'm not sure a better way to do this.  I need to make the process mostly-transparent to new users:  I don't want to walk them through a confusing process when they don't even know what my program is or what Bitcoin is.  I'd rather it "just work".  And for users that have been using Bitcoin-Qt in the default locations:  well it should "just work" by picking up where they last left off with Bitcoin-Qt.  (this means that for switching from Bitcoin-Qt to Armory, it should be actually quite painless).

hero member
Activity: 784
Merit: 1000
Thanks, do I need to download the blockchain again to test?

Not necessary.  Though, if your Bitcoin-Qt home directory (-datadir) is non-standard, it might create one in the standard place and start redownloading.  You can change the settings and restart.  It will pick up where Bitcoin-Qt last left off.



Yeah, I put the data directory in a non-standard position, but I always start Armory using the satoshi-datadir option, I guess I would be OK then?

Also do I need to delete the old installation? And if I am super paranoid and want to backup the wallet files do I just copy them somewhere else? Thanks.
legendary
Activity: 1400
Merit: 1013
I guess I can just add /var/bitcoin to the search paths
Actually I misspoke earlier. It's installed at /var/lib/bitcoin. That's a FHS-compliant location so if any other distributions ever package bitcoind like a native daemon that's probably where they'd put it as well.

It is a bit ugly in that everything gets put under /var/lib/bitcoin/.bitcoin because of embedded assumptions in bitcoind that it's running as a regular user.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
I need help testing, especially from the Linux folks, because they're the ones most likely to have non-standard configurations that will break this.

The packaging for Gentoo puts bitcoind in /var/bitcoin and runs it at boot under the bitcoin user. If I fix the permissions such that regular users have read-only access to the block database will Armory be able to work?

I was thinking of further branching the code based on distribution for stuff like this, but I'm not sure it's worth my time.  If you're in Gentoo, you are probably used to tweaking settings Smiley  OTOH, I guess I can just add /var/bitcoin to the search paths.  It's not like it will really slow anything down for anyone, searching one more directory, once each load...

For the permissions question, I assume you're talking about the .bitcoin/blocks/blk*.dat files?  If so then, yes, it will work.  Armory [theoretically] only needs read-only access, though I never tested it.  If I did it right, it should work fine.


legendary
Activity: 1400
Merit: 1013
I need help testing, especially from the Linux folks, because they're the ones most likely to have non-standard configurations that will break this.
The packaging for Gentoo puts bitcoind in /var/bitcoin and runs it at boot under the bitcoin user. If I fix the permissions such that regular users have read-only access to the block database will Armory be able to work?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
Thanks, do I need to download the blockchain again to test?

Not necessary.  Though, if your Bitcoin-Qt home directory (-datadir) is non-standard, it might create one in the standard place and start redownloading.  You can change the settings and restart.  It will pick up where Bitcoin-Qt last left off.

hero member
Activity: 784
Merit: 1000
Thanks, do I need to download the blockchain again to test?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
This is one of the two major upgrades I need in order for Armory to be usable to users with shorter attention spans.  When this is working properly, you will never need to run Bitcoin-Qt/bitcoind again.  Just start Armory and it will do the rest.  

The other major upgrade is the resource usage and load time.  Those are both getting knocked out with the blockchain management/DB stuff.  That is top priority after this (including not rescanning every time).

Updates in 0.87.99-testing (soon to be 0.88)
  • Auto management of bitcoind: This most definitely will break on OSX... gonna deal with that this week.  What needs to be done should be fairly well-explained in the interface.  I will be adding a troubleshooting section to the website to catch the most common issues.
  • OSX Package:  Finally a real OSX package.  So far, it doesn't appear to work on every system, but works very well when it does!  Auto-bitcoind is disabled, since bitcoind is not distributed for OSX.  I will be implementing a workaround for that in the near future!
  • Notifications of new Bitcoin-Qt/bitcoind versions:  It should work with both self-management and auto-management of bitcoind.
  • Windows code-signing certificates:  Just like my GPG keys, I have an offline code-signing certificate just for Windows installers/MSIs
  • On-screen Keyboard for passphrase entry: You can now fool keyloggers by using an on-screen keyboard.  If you're ultra-paranoid (and ultra-patient) you can use a keyboard that is scrambled in a cryptographically secure manner.   Comes in "regular" and "insane" flavors.
  • Clickable (?) objects: Yes, they finally do something when you click them (used to be just 1.5s mouseover)
  • Reduced the number of windows you have to click through to execute an offline transaction.
  • Created new Ubuntu-10.04-32bit offline bundle:  this includes the frag/unfrag scripts for Shamir's Secret Sharing
  • Unicode Issues:  Fixed all show-stopper unicode issues (I think), and detect and warn about non-critical unicode issues.  



To use 0.87.99 (which will be 0.88 when it's released):

Windows 0.87.99 -- SIGNED
Windows users must first uninstall any previous version, before installing this one.
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99-testing_win64.msi
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99-testing_windows_all.msi

Ubuntu/Debian 0.87.99 -- SIGNED (alternatively, use the "testing" branch)
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99_amd64.deb
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99_i386.deb

Ubuntu Offline Bundles (now in 64-bit!) -- With Detached Signature
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/Armory_Offline_bundle_0.87.97-beta_amd64.tar.gz
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/Armory_Offline_Bundle_0.87.97-beta_i386.tar.gz

The first Mac/OSX Release!  (works offline, too!)
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99a_OSX.dmg
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99a_OSX.dmg.sig

I have GPG-signed the SHA256 hashes (use the .sig above, for the .dmg for OSX ... I have updated it since the hashes were signed)
-- https://dl.dropboxusercontent.com/u/1139081/ArmoryTestingReleases/armory_0.87.99_sha256sum.txt.asc



What I've done:

If you are running Bitcoin-Qt when you start Armory, it will now tell you to stop.  "Let Armory manage the Bitcoin software" is the default.  You will be told to either close Bitcoin-Qt, or change your settings (with a convenient button in the middle of the dashboard).   You can go into your settings and uncheck the box to carry on using Armory exactly as you used to.  Or you can leave it checked and just close Bitcoin-Qt/bitcoind.

If you do not have bitcoind installed or it is in a non-standard location, it will tell you to install it, or change your settings to point to where it is located.  If it's not installed, it will give you a button you can press that will install it for you.  I put a lot of time into this, and a lot of testing.  It works as expected in both Ubuntu and Windows 64-bit.  I need others to try it to tell me for sure.  There's also a button for killing bitcoin-qt/bitcoind if you happen to have it open when Armory expects to run bitcoind, itself.

By the way, I know the initial-sync time-remaining counter is out of whack.  Predicting the correct download time is surprisingly hard!  I will come up with a better way, that doesn't choke when bitcoind pauses/hiccups during download.  I made "8+ hours" the maximum, to avoid it saying "187 years" when this happens...

Please mention everything that doesn't look right.  Most likely, configurations/combinations of options that lead to a dashboard that doesn't say the right thing, or buttons missing that should be there, etc.  Try out the new settings (renamed from "preferences").   One thing I threw on top was added a permanent "--skip-online-check" to the settings.  Try that out, too.



To help test...
To help test, these are operations that should be supported:

  • Fresh boot of online operating, never installed or run bitcoind/bitcoin-qt.  Install and run Armory.  Have it install bitcoind/bitcoin-qt for you.
  • Bitcoin-Qt already running default settings.  Armory will complain and kill it for you if you want
  • Bitcoin-Qt can't be found default settings.  Point to the right directory, or install it for you.
  • Change settings to manage bitcoind yourself.  Bitcoind already running, everything is like before (but with a completion bar)
  • Change settings to manage bitcoind yourself, but it's not running.  Just like before.
  • There is no upgrade button yet, but there will be one in the some-what near future, now that I have all these signed installer links.  I might as well autodetect versions and add an "upgrade" button for both Bitcoin-Qt and/or Armory, as necessary.
Jump to: