Author

Topic: Armory - Discussion Thread - page 224. (Read 521693 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 19, 2012, 01:33:55 AM
So, I completely botched the Win32 settings in the MSVS project.  I just went through the compile process in Windows XP and got the project into order.  I also updated the build instructions on the webpage, to reflect the feedback I've gotten so far for all building.  I tried to make them more explicit, to clarify things that developers should probably know already, but not everybody here is a developer Smiley

Unfortunately, I wasn't able to load the full blockchain for the main-network in WinXP 32-bit.  But Win 7, 32-bit did work.  I am sure it has to do with the memory requirements.  Trust me, the non-full-RAM version is my first priority after the first release!  However, using it with " --testnet" did work.  So you can still help test, but not with the real network :|




legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 18, 2012, 05:03:23 PM
P.S. - For future build-issue discussions, rather than posting here, please join the armory-dev IRC channel (I just created it).  I'd prefer not to clutter this thread with build-issues.  If IRC is not your thing, email or PM works, too!   
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 18, 2012, 04:57:58 PM
ethotheipi,

i already have a non encrypted wallet generated offline stored on my Ironkey.

what would be the best way to get it tx'd into Armory on an offline computer?

Cypherdoc,

I am actually avoiding having anyone move existing keys over to Armory wallets yet.  This is why I haven't explicitly created a bulk-import function for private keys (you can enter them one-by-one through the Import-Address dialog).  Plus, I don't have a good way to pull private key data out of the wallet.dat files, even if I did.  I have a script that gets some keys out of the unencrypted Satoshi wallets, but I don't know if it gets all of them.  I heard sipa has a bitcoin branch that allows you dump your private keys, but I think it requires compiling Bitcoin, which can be even more daunting than compiling Armory :|

For now, I recommend you make a new, offline wallet, and transfer a small amount of funds to one of its addresses.  Make sure it works, and that you can move money in and out of the offline wallet as you'd expect (and that you have a copy of the keys saved somewhere in case Armory/HDD fails).  By the time you're comfortable with that functionality, then I might be better prepared to help with this.  I'm still a little uncomfortable with people putting all their eggs in the Armory basket yet, at least until I get some wider testing done.

legendary
Activity: 1764
Merit: 1002
January 18, 2012, 02:37:57 PM
ethotheipi,

i already have a non encrypted wallet generated offline stored on my Ironkey.

what would be the best way to get it tx'd into Armory on an offline computer?
legendary
Activity: 1764
Merit: 1002
January 18, 2012, 02:28:38 PM

........................

..................



i really appreciate this product.  i too look forward to offline tx capability in a simpler way.  thanks.

fyi, Ironkey updates the malware scanner online each time i open it and scans the contents of the Ironkey.

lol, and you believe it does only that...  Cool

(sorry for posting off-topic, i'm amused by ppl who still believe "scanners" do only what they're supposed to do)

feel free to elaborate.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 18, 2012, 01:37:13 PM
Man, this stuff is hard.  I re-enabled some dependencies I had removed, hoping it would help with the shutdown issue.  It didn't.  So I removed them, again.  Sorry!
hero member
Activity: 991
Merit: 1008
January 18, 2012, 01:32:15 PM
new error on startup:

Quote
  File "armoryqt.py", line 1602, in
    import qt4reactor
  File "Z:\fremdprojekte\BitcoinArmory\qt4reactor.py", line 353, in
    from win32event import CreateEvent, MsgWaitForMultipleObjects
ImportError: No module named win32event
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 18, 2012, 11:22:39 AM
The Windows build instructions for SWIG portion seems to be incorrect
Quote
(You should now see 3 subdirectories in cppForSwig dir:
cryptopp, reorgTest and swig-2.0.4)

The SWIG_compile portion failed because it couldn't find swigwin-2.0.4 folder
Quote
   
Creating temporary file "c:\Users\Janne\BitcoinArmory\BitcoinArmory\cppForSwig\Release\BAT00000C51685384.bat" with contents
[
@echo off

swigwin-2.0.4\swig.exe -c++ -python -classic -outdir ../ -v CppBlockUtils.i
which means you need to download swigwin-2.0.4, NOT swig-2.0.4 like the build instructions say. (I was building on 32-bit Vista)

The build still seems to fail because I have Python 2.7 installed in D:/ instead of C:/
Quote
2>LINK : fatal error LNK1104: cannot open file 'python27.lib'

EDIT :
I got it farther this time, although it still fails with this error
Quote
3>LINK : fatal error LNK1104: cannot open file 'cryptlib.lib'


Ugh.  I don't know how to setup these things to accommodate non-"standard" configs (such as python being in a different place than C:\Python2X).  However, the cryptlib thing should work if you compiled the cryptlib project in MSVS.  You should see, a cryptlib/win32/output/release directory in the cppForSwig directory.  It should be created, and cryptlib.lib will be in there if you compiled that project.

Maybe I really should do binaries.  Leave the compiling to only the people who want to have to develop/modify the project.

Fornit, I just committed the fix for that.  I think I accidentally only commited one of two files impl the windows-close fix.  It should all be there, now.

(EDIT:  I just fixed the swig-vs-swigwin part of the directions on the webpage.  Sounds like both of you got caught by that typo.  Thanks Matoking)
sr. member
Activity: 352
Merit: 250
Firstbits: 1m8xa
January 18, 2012, 10:31:38 AM
The Windows build instructions for SWIG portion seems to be incorrect
Quote
(You should now see 3 subdirectories in cppForSwig dir:
cryptopp, reorgTest and swig-2.0.4)

The SWIG_compile portion failed because it couldn't find swigwin-2.0.4 folder
Quote
   
Creating temporary file "c:\Users\Janne\BitcoinArmory\BitcoinArmory\cppForSwig\Release\BAT00000C51685384.bat" with contents
[
@echo off

swigwin-2.0.4\swig.exe -c++ -python -classic -outdir ../ -v CppBlockUtils.i
which means you need to download swigwin-2.0.4, NOT swig-2.0.4 like the build instructions say. (I was building on 32-bit Vista)

The build still seems to fail because I have Python 2.7 installed in D:/ instead of C:/
Quote
2>LINK : fatal error LNK1104: cannot open file 'python27.lib'

EDIT :
I got it farther this time, although it still fails with this error
Quote
3>LINK : fatal error LNK1104: cannot open file 'cryptlib.lib'
hero member
Activity: 991
Merit: 1008
January 18, 2012, 09:00:56 AM
pulled the new version.
now i get this this error on startup:

Quote
   Wallet (2gTHGzUV5):      "Test Wallet"    (Encrypted)
Traceback (most recent call last):
  File "armoryqt.py", line 1612, in
    form = ArmoryMainWindow(settingsPath=options.settingsPath)
  File "armoryqt.py", line 66, in __init__
    if self.abortLoad:
AttributeError: 'ArmoryMainWindow' object has no attribute 'abortLoad'

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 17, 2012, 11:19:16 PM
Quote
3>  SWIG_compile_dll_MSVS2005.vcxproj -> Z:\fremdprojekte\BitcoinArmory\cppForSwig\x64\Release\SWIG_compile_dll_MSVS2005.dll
3>PostBuildEvent:
3>  Description: Combine compiled libraries and PyQt gui into .exe
3>          1 file(s) copied.
3>  python: can't open file '../setup.py': [Errno 2] No such file or directory
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: Der Befehl "copy x64\Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: ; python ../setup.py py2exe --includes sip,hashlib -d ../ArmoryStandalone
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" wurde mit dem Code 2 beendet.

any idea what might cause this?


fornit,

I'm glad you were able to get it working and that the build-instructions apparently were sufficient Smiley  

The error is actually an extra build-step that is unnecessary for testing purposes.  It uses py2exe to collect everything into a single standalone directory and .exe file.  It involves getting py2exe, pywin32 and finding msvcp90.dll.  But I figured no one would really need it except for me, to build binaries for my first release.

As for closing the app, I don't know why it's so terribly difficult to get qt4reactor to shut down!  I finally got it smooth in Linux, but Windows is still unpleasant.  I'll make an effort to fix that, ASAP.

I hope you enjoy Armory!

P.S. - I just fixed the Armory shutdown issue -- right click and do a git-pull to get fixed version.  At least, it won't freeze, though Python itself sometimes stays open.
hero member
Activity: 991
Merit: 1008
January 17, 2012, 11:04:56 PM
yay it works!

interesting facts:
1. it works with msvs2010
2. it doesnt work with swig for linux
3. it doesnt work without python path variable
4. it doesnt work with python path variable without reboot
5. doing serious stuff at hours were most people sleep isnt as time efficient as linear arithmetics might indicate (see 2., 3. and 4.)

actual testing will follow another day. only one thing i noticed: it stops responding when you try to close it.

and btw msvs2010 ends with:

Quote
3>  SWIG_compile_dll_MSVS2005.vcxproj -> Z:\fremdprojekte\BitcoinArmory\cppForSwig\x64\Release\SWIG_compile_dll_MSVS2005.dll
3>PostBuildEvent:
3>  Description: Combine compiled libraries and PyQt gui into .exe
3>          1 file(s) copied.
3>  python: can't open file '../setup.py': [Errno 2] No such file or directory
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: Der Befehl "copy x64\Release\SWIG_compile_dll_MSVS2005.dll ..\_CppBlockUtils.pyd
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: ; python ../setup.py py2exe --includes sip,hashlib -d ../ArmoryStandalone
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" wurde mit dem Code 2 beendet.

any idea what might cause this?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 17, 2012, 09:36:07 PM
Quote
Follow all the steps above.  Open the ArmoryEngine_MSVS_2005.sln file.  Make sure to select “Release” mode and “x64″ (or Win32 if only 32-bit OS).  Build-all.

cant find that file.
however there is a PyBtcEngine_MSVS2005.sln

It looks like you didn't switch to the "qtdev" branch.  This project was forked from another project of mine (PyBtcEngine) and I forgot to rename the solution files until after I forked qtdev.  Everything is on the qtdev branch.  It will all be merged into master for the alpha release.
hero member
Activity: 991
Merit: 1008
January 17, 2012, 09:34:07 PM
Quote
Follow all the steps above.  Open the ArmoryEngine_MSVS_2005.sln file.  Make sure to select “Release” mode and “x64″ (or Win32 if only 32-bit OS).  Build-all.

cant find that file.
however there is a PyBtcEngine_MSVS2005.sln
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 17, 2012, 06:46:32 PM
I'll test it as soon as there's a Windows binary available.  But after spending many hours building the standard Bitcoin client in Windows, I took a vow to never build anything in Windows again.  It's just not my kind of gig.

I've heard that the Satoshi client is challenging to build.  However, I have thoroughly documented the build-process for Armory and tested it in MSVS 2008 from a fresh install in Win 7 x64.  It did work, no problem.  I request you give it a shot (just follow the directions), and if you hit any snags, feel free to stop.  But I did spend a lot of time on those build-instructions precisely because I know how terrible it can be for others to figure it out.
legendary
Activity: 1400
Merit: 1005
January 17, 2012, 06:43:00 PM
I'll test it as soon as there's a Windows binary available.  But after spending many hours building the standard Bitcoin client in Windows, I took a vow to never build anything in Windows again.  It's just not my kind of gig.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 17, 2012, 06:35:59 PM
Thanks to everyone who has donated!  You guys rule.  I already took my girlfriend out for a nice dinner on the donations I've gotten, and she does feel appreciated Smiley

Of course, I will not discourage donations, but I do desperately need folks to help test the software.  Besides the caveats already stated, and the zero-conf transactions which should be implemented soon, all major features work.  I'm aware of build-issues on non-Ubuntu-10.04, and working on better cross-distrib support.  Windows works great if you can get through the build instructions without stabbing yourself.  If the Windows instructions really are prohibitive, I might have to distribute a pre-alpha binary, but that makes it difficult to push bug fixes and have testers pull the updates right away. 

Please let me know if there's something holding you back.  And if anyone uses it for main-network with real BTC, please print out a paper backup of your wallet.  The wallets do appear to be very robust, but it's alpha, and whatever money you have will be recoverable with a paper backup under any circumstances Smiley

member
Activity: 93
Merit: 11
January 17, 2012, 06:29:16 PM
Also donated, this effort must be rewarded!
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
January 17, 2012, 05:11:11 PM
Conspiracy theories aside, it should be noted that no sensitive data touches the USB key, ever.  Not even on the initial wallet setup.  You transfer only a watching-only wallet from the offline computer to the online computer.  And when you spend money, only transaction data is sent back and forth.  The only thing that the offline computer adds to the USB key is a signature, which is going to end up in the blockchain, anyway.

Of course, if the manufacturers of IronKey wanted to do something nasty, they would have access to your entire system, not just what's on the key.  So perhaps it's moot.  But at least, you don't have to worry about someone else getting ahold of a key you used for Armory's offline wallets.  There's nothing they can do with the data being couriered with that device.
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 17, 2012, 04:32:10 PM

........................

..................



i really appreciate this product.  i too look forward to offline tx capability in a simpler way.  thanks.

fyi, Ironkey updates the malware scanner online each time i open it and scans the contents of the Ironkey.

lol, and you believe it does only that...  Cool

(sorry for posting off-topic, i'm amused by ppl who still believe "scanners" do only what they're supposed to do)
Jump to: