payb.tc
|
|
June 11, 2012, 01:28:43 AM |
|
- (1) Armory installed into ProgramFiles directory
For (1): There is no problem moving this directory to another location. Just be aware that the shortcuts that are automatically created will become invalid. But you can send the default shortcut to your desktop and change the target to the new location of Armory.exe does armory use the windows registry at all? (i haven't checked)
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 01:38:15 AM |
|
I had a power failure while Armory and Bitcoin-qt was running. When I resumed, Armory crashed after 'Loading Blockchain'. I ran: $ python /usr/share/armory/ArmoryQt.py .... /home/user/.bitcoin/blk0001.dat is 1609.27 MB segmentation fault $ _ What do I need to do to recover Armory? Ack! I haven't seen a segmentation fault in a while... I bet there was a partial-write to the blk0001.dat file, which Armory then tries to read through and ends up with a segmentation fault. I do have a check for that condition, but it doesn't get much testing... Honestly, I don't know what to do besides attempting to re-download the blockchain, but that seems excessive and not guaranteed to work if Bitcoin-Qt works fine. I'll have to get back to you on that one... does armory use the windows registry at all? (i haven't checked)
Ahh, excellent question! It does actually use the registry to register itself as the URI-handler for "bitcoin:" links, and I just checked that it does assume default installation location. I just made a note on my ToDo list for supporting non-standard install locations. So if you move it around, it will incorrectly set the URI-handler for clicking "bitcoin:" links, but that shouldn't affect general usage (at least not yet). It won't cause any errors or crashing, it will just disable that convenience functionality.
|
|
|
|
payb.tc
|
|
June 11, 2012, 01:56:30 AM |
|
I had a power failure while Armory and Bitcoin-qt was running. When I resumed, Armory crashed after 'Loading Blockchain'. I ran: $ python /usr/share/armory/ArmoryQt.py .... /home/user/.bitcoin/blk0001.dat is 1609.27 MB segmentation fault $ _ What do I need to do to recover Armory? Ack! I haven't seen a segmentation fault in a while... I bet there was a partial-write to the blk0001.dat file, which Armory then tries to read through and ends up with a segmentation fault. I do have a check for that condition, but it doesn't get much testing... Honestly, I don't know what to do besides attempting to re-download the blockchain, but that seems excessive and not guaranteed to work if Bitcoin-Qt works fine. I'll have to get back to you on that one... does armory use the windows registry at all? (i haven't checked)
Ahh, excellent question! It does actually use the registry to register itself as the URI-handler for "bitcoin:" links, and I just checked that it does assume default installation location. I just made a note on my ToDo list for supporting non-standard install locations. So if you move it around, it will incorrectly set the URI-handler for clicking "bitcoin:" links, but that shouldn't affect general usage (at least not yet). It won't cause any errors or crashing, it will just disable that convenience functionality. well, i'm not saying you have to spend time re-thinking everything for portable mode just for me, but in such a mode it shouldn't touch the registry whatsoever. any saved settings should be in config files in armory's own directory. although, i'd be interested to hear if i'm alone in this use case or not.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 02:03:34 AM |
|
well, i'm not saying you have to spend time re-thinking everything for portable mode just for me, but in such a mode it shouldn't touch the registry whatsoever. any saved settings should be in config files in armory's own directory.
although, i'd be interested to hear if i'm alone in this use case or not.
You have to touch the registry to register an application as a URI-handler. There's no way around that (that I'm aware of). And that is the only thing I use the registry for. Everything else is stored in settings files, as it should be; in your "<datadir>/Armory" directory.
|
|
|
|
payb.tc
|
|
June 11, 2012, 02:19:19 AM |
|
well, i'm not saying you have to spend time re-thinking everything for portable mode just for me, but in such a mode it shouldn't touch the registry whatsoever. any saved settings should be in config files in armory's own directory.
although, i'd be interested to hear if i'm alone in this use case or not.
You have to touch the registry to register an application as a URI-handler. There's no way around that (that I'm aware of). And that is the only thing I use the registry for. Everything else is stored in settings files, as it should be; in your "<datadir>/Armory" directory. i realise you have to touch it in order to have that feature, but what i'm saying is that portable apps ideally shouldn't touch it for any reason, even for increased functionality. my ideal scenario would be something like this: u:\armory u:\armory\armory.exe u:\armory\armory.conf u:\armory\data u:\armory\data\armory_fjwe823_.wallet where armory.conf includes something like: datadir = ./data <--- no hardcoding of drive letter!!! bitcoindir = z:/appdata/bitcoin so i can theoretically plug in my 'armory usb stick', use the program, and then when i'm done unplug it without any trace of it left on the pc.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 02:31:05 AM |
|
i realise you have to touch it in order to have that feature, but what i'm saying is that portable apps ideally shouldn't touch it for any reason, even for increased functionality.
my ideal scenario would be something like this:
u:\armory u:\armory\armory.exe u:\armory\armory.conf u:\armory\data u:\armory\data\armory_fjwe823_.wallet
where armory.conf includes something like:
datadir = ./data <--- no hardcoding of drive letter!!!
so i can theoretically plug in my 'armory usb stick', use the program, and then when i'm done unplug it without any trace of it left on the pc.
To be fair, "tracelessness" of Armory is not a goal of mine. "Portability" is a feature I'm happy to support, but not at the expense of disabling what I believe to be critical functionality for the success of Bitcoin. Supporting "I've never used Bitcoin/Armory in my life!" plausible deniability is not in my priority list. No offense... If I can figure out how to do it easily, I will try to make URI-registration optional. But at the moment, it's tough to see beyond the impending doom of the upcoming blockchain file-splitting.
|
|
|
|
payb.tc
|
|
June 11, 2012, 02:46:35 AM |
|
i realise you have to touch it in order to have that feature, but what i'm saying is that portable apps ideally shouldn't touch it for any reason, even for increased functionality.
my ideal scenario would be something like this:
u:\armory u:\armory\armory.exe u:\armory\armory.conf u:\armory\data u:\armory\data\armory_fjwe823_.wallet
where armory.conf includes something like:
datadir = ./data <--- no hardcoding of drive letter!!!
so i can theoretically plug in my 'armory usb stick', use the program, and then when i'm done unplug it without any trace of it left on the pc.
To be fair, "tracelessness" of Armory is not a goal of mine. "Portability" is a feature I'm happy to support, but not at the expense of disabling what I believe to be critical functionality for the success of Bitcoin. Supporting "I've never used Bitcoin/Armory in my life!" plausible deniability is not in my priority list. No offense... If I can figure out how to do it easily, I will try to make URI-registration optional. But at the moment, it's tough to see beyond the impending doom of the upcoming blockchain file-splitting. you believe adding a particular thing to the windows registry is critical to the success of bitcoin, however it indirectly causes me not to want to use your software. i hope you can see the irony there. in any case i don't expect you to redesign it around me, i'm just letting you know how i do things, and maybe there are others out there that do things the same way. also, the 'leaving no trace' aspect is not so much about paranoia, but also about maintaining a clean and efficient pc. anyway keep focusing on what's important to you, you're doing a great job with it so far! cheers.
|
|
|
|
teste
|
|
June 11, 2012, 02:55:22 AM |
|
+ 1 for the ideal scenario described by payb.tc
|
|
|
|
Foxpup
Legendary
Offline
Activity: 4530
Merit: 3183
Vile Vixen and Miss Bitcointalk 2021-2023
|
|
June 11, 2012, 04:26:57 AM |
|
I'm confused here. The only reason Armory uses the registry is to tell the operating system that it knows how to open bitcoin URIs, so that when you click on a bitcoin payment link you don't have to select what program you want to use to open it every single time, or worse, be confronted by an unhelpful error message saying you don't have any program on your computer that can open it even though you do. That hardly seems clean and efficient to me. The Windows registry exists for a reason, and while some programs pollute the registry by using it for purposes that are better served by configuration files, Armory isn't one of them, and it uses the registry for exactly the sort of thing the registry is supposed to be used for and nothing else.
|
Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 04:48:57 AM |
|
you believe adding a particular thing to the windows registry is critical to the success of bitcoin, however it indirectly causes me not to want to use your software. i hope you can see the irony there.
in any case i don't expect you to redesign it around me, i'm just letting you know how i do things, and maybe there are others out there that do things the same way.
also, the 'leaving no trace' aspect is not so much about paranoia, but also about maintaining a clean and efficient pc.
anyway keep focusing on what's important to you, you're doing a great job with it so far!
cheers.
I understand your desire to have a clean and efficient PC, and that's why you shouldn't be bothered by this: it is completely benign. It has no effect on any other program or system component except other Bitcoin programs, and only if that program was planning to be equally offensive (by modifying the same registry entry itself). Additionally, I'm very concerned that the lack of the URI-handling feature (or a broken one) would cause users to overlook Armory in favor of other programs that do use it. It's a very elegant feature that streamlines the entire philosophy of Bitcoin for all parties, especially new users. I want to make sure that when the new user clicks that Bitcoin link, the app "Does The Right Thing" instead of popping up a cryptic error and/or application selection dialog. With that out of the way: you will probably still tell me that you don't want it, and I should still make it an option. Well, I've written it down in my notebook. Perhaps one day I'll get around to figuring out how to add an option for it (probably another command-line flag).
|
|
|
|
payb.tc
|
|
June 11, 2012, 05:05:15 AM |
|
you will probably still tell me that you don't want it, and I should still make it an option.
almost correct; you should do whatever suits you and your agenda. i'm only telling you my preference, and don't expect you to code it that way just for me. i would opt out, though.
|
|
|
|
Smoovious
|
|
June 11, 2012, 09:49:54 AM |
|
Could probably just make Armory check the binary's directory for a config file first, and if not found, then reference %appdata% for everything, and if found, then use the binary's directory as %appdata%.
This is how uTorrent works, in order to be portable on a removable drive.
-- Smoov
|
|
|
|
jl2012
Legendary
Offline
Activity: 1792
Merit: 1111
|
|
June 11, 2012, 06:05:58 PM |
|
May I ask if there is a command-line mode for armory, either in Windows or Linux?
|
Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY) LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC) PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 06:47:38 PM |
|
May I ask if there is a command-line mode for armory, either in Windows or Linux?
There's no RPC interface like bitcoind has, if that's what you're asking. Instead, Armory was built off of armoryengine.py (and dependencies of that file in the same directory), which means that ArmoryQt.py is basically just a sequence of python-shell commands that could theoretically be run from the python shell. Obviously, it's a lot of commands. This means that there's nothing stopping you from opening a python shell, typing "from armoryengine import *" and then you have full access to everything that Armory does. It's quite a bit lower-level than RPC interface, but if you're writing scripts that wants to leverage the blockchain scanning or wallet management, it can be done. I have some sample code in the "BitcoinArmory/extras" directory. Loading the blockchain, searching for balances and unspent-txouts, importing keys to wallets, etc. You can create transactions, too, but they're a bit more complicated. It is in my plans to make a real RPC interface. I just don't know when, yet.
|
|
|
|
check_status
Full Member
Offline
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
|
|
June 11, 2012, 07:08:51 PM |
|
Should I just delete or rename blk0001.dat until you figure something out?
Does Armory make a backup of the blk0001.dat, once on wallet creation then once every 7 days there after? This might save some time troubleshooting bad .dat writes from catastrophic incidents.
|
For Bitcoin to be a true global currency the value of BTC needs always to rise. If BTC became the global currency & money supply = 100 Trillion then ⊅1.00 BTC = $4,761,904.76. P2Pool Server List | How To's and Guides Mega List | 1 EndfedSryGUZK9sPrdvxHntYzv2EBexGA
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 09:14:50 PM |
|
Should I just delete or rename blk0001.dat until you figure something out?
Does Armory make a backup of the blk0001.dat, once on wallet creation then once every 7 days there after? This might save some time troubleshooting bad .dat writes from catastrophic incidents.
Armory expects to use the same blk0001.dat file as is used by Bitcoin-Qt, and thus making a backup wouldn't really help much. Personally, I'm not sure why Bitcoin-Qt works and Armory doesn't. One day, when Armory is independent, I'll have a better chance of preventing this from happening. If you don't mind, shutdown bitcoin-qt/d, delete/rename blk0001.dat, then restart bitcoin-qt/d and let it re-sync. Then start Armory. If that doesn't resolve it, then I'll have to come up with something else...
|
|
|
|
check_status
Full Member
Offline
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
|
|
June 11, 2012, 09:56:06 PM |
|
Renamed blk0001.dat to blkdat0001.old then opened Bitcoin-QT received: Error in blockindex.dat Is it safe to rename/delete that also?
|
For Bitcoin to be a true global currency the value of BTC needs always to rise. If BTC became the global currency & money supply = 100 Trillion then ⊅1.00 BTC = $4,761,904.76. P2Pool Server List | How To's and Guides Mega List | 1 EndfedSryGUZK9sPrdvxHntYzv2EBexGA
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 11, 2012, 09:57:06 PM |
|
Renamed blk0001.dat to blkdat0001.old then opened Bitcoin-QT received: Error in blockindex.dat Is it safe to rename/delete that also?
It is safe to do that, but I have never needed to. I wonder if it's related to the power failure...
|
|
|
|
check_status
Full Member
Offline
Activity: 196
Merit: 100
Web Dev, Db Admin, Computer Technician
|
|
June 12, 2012, 02:37:40 AM |
|
I renamed both blk0001.dat and blkindex.dat, then started Bitcoin-qt. Not resolved. Segmentation fault is still present after renewed download of blockchain. Is there any call trace or debug I can pipe to a file and send to you?
|
For Bitcoin to be a true global currency the value of BTC needs always to rise. If BTC became the global currency & money supply = 100 Trillion then ⊅1.00 BTC = $4,761,904.76. P2Pool Server List | How To's and Guides Mega List | 1 EndfedSryGUZK9sPrdvxHntYzv2EBexGA
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
June 12, 2012, 02:47:39 AM |
|
I renamed both blk0001.dat and blkindex.dat, then started Bitcoin-qt. Not resolved. Segmentation fault is still present after renewed download of blockchain. Is there any call trace or debug I can pipe to a file and send to you?
Oh! Try one thing: delete /home/username/.armory/mempool.bin. It's possible that file got corrupted on the power failure. That would be a perfect explanation for this, and if that's it, I think I know how to fix it... If you could get me what the stack looks like when it segfaults, that would be useful. I don't know if it works, though, if the program was not compiled in debug mode. I'll save the details of how to do that until I find out if the mempool.bin file is the culprit...
|
|
|
|
|