etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 19, 2012, 10:21:29 PM |
|
Hi I can't send bitcoins from my wallet.
Chris, I was just working on this with cypherdoc. I bet when you hit the send button, there is a message in the console like "Connection to localhost DNE" (does not exist)...? I was finally able to replicate this problem on a Win 7 VM, and it went away when I upgraded to 0.5.1. It turns out I had forgotten to update the Win 7-64 link on the Get Armory page, and it was still linked to 0.5.0. I fixed the link less than 24 hours ago. Just download the zip file, unpack, and run ArmoryQt.py again. You don't need to [re-]install anything. Let me know if that fixes it!
|
|
|
|
zefir
Donator
Hero Member
Offline
Activity: 919
Merit: 1000
|
|
February 19, 2012, 10:37:45 PM |
|
Failed to get it work from the git sources (32596798) on my Ubuntu 11.04. Built after given instructions, but getting the already posted error (LD preloading does not help): Loading Armory Engine: Armory Version: 0.50 PyBtcAddress Version: 1.00 PyBtcWallet Version: 1.35 Detected Operating system: Linux User home-directory : /home/zefir Satoshi BTC directory : /home/zefir/.bitcoin/ Satoshi blk0001.dat : /home/zefir/.bitcoin/blk0001.dat Armory home dir : /home/zefir/.armory/ ***ERROR: C++ block utilities not available. Make sure that you have the SWIG-compiled modules in the current directory (or added to the PATH) Specifically, you need: CppBlockUtils.py and _CppBlockUtils.so
Importing CppBlockUtils from python gives me Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import CppBlockUtils Traceback (most recent call last): File "<stdin>", line 1, in <module> File "CppBlockUtils.py", line 25, in <module> _CppBlockUtils = swig_import_helper() File "CppBlockUtils.py", line 21, in swig_import_helper _mod = imp.load_module('_CppBlockUtils', fp, pathname, description) ImportError: ./_CppBlockUtils.so: undefined symbol: _ZTTN8CryptoPP50DL_PrivateKey_WithSignaturePairwiseConsistencyTestINS_16DL_PrivateKey_ECINS_3ECPEEENS_5ECDSAIS2_NS_6SHA256EEEEE
Hope this helps to isolate the problem. PS: I'm a python noob, but I suppose the program should terminate after a CppBlockUtils import failed on any system (and not only on UNKNOWN): diff --git a/armoryengine.py b/armoryengine.py index ca4ca5e..9ac5d9c 100644 --- a/armoryengine.py +++ b/armoryengine.py @@ -324,7 +324,8 @@ except: print ' _CppBlockUtils.pyd' else: print '\n\n... UNKNOWN operating system' - exit(0) + + exit(0)
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 19, 2012, 10:43:17 PM |
|
zefir,
That seems to the problem that is supposed to be solved by the LD_PRELOAD line. Can you verify that you have crypto++ installed, and check that /usr/lib/libcryptopp.so exists (or libcrypto++.so). The error you are getting loading the module indicates that your system is not dynamically linking to the correct version of crypto++ (or any crypto++ for that matter).
I considered adding libcryptopp.a to be statically linked, which would solve these stupid problems... perhaps I still should....
|
|
|
|
chris200x9
Legendary
Offline
Activity: 1316
Merit: 1011
|
|
February 19, 2012, 10:47:04 PM |
|
Hi I can't send bitcoins from my wallet.
Chris, I was just working on this with cypherdoc. I bet when you hit the send button, there is a message in the console like "Connection to localhost DNE" (does not exist)...? I was finally able to replicate this problem on a Win 7 VM, and it went away when I upgraded to 0.5.1. It turns out I had forgotten to update the Win 7-64 link on the Get Armory page, and it was still linked to 0.5.0. I fixed the link less than 24 hours ago. Just download the zip file, unpack, and run ArmoryQt.py again. You don't need to [re-]install anything. Let me know if that fixes it! yea I get "Connection to localhost DNE" (does not exist) I did a yaourt -S armory-git again, it says "Making package: armory-git 20120219-1 (Sun Feb 19 17:45:04 EST 2012)" so I'm assuming it's cloning todays git but I'm still getting the error.
|
|
|
|
zefir
Donator
Hero Member
Offline
Activity: 919
Merit: 1000
|
|
February 19, 2012, 11:02:52 PM |
|
zefir,
That seems to the problem that is supposed to be solved by the LD_PRELOAD line. Can you verify that you have crypto++ installed, and check that /usr/lib/libcryptopp.so exists (or libcrypto++.so). The error you are getting loading the module indicates that your system is not dynamically linking to the correct version of crypto++ (or any crypto++ for that matter).
I considered adding libcryptopp.a to be statically linked, which would solve these stupid problems... perhaps I still should....
Hm, seems ok to me: zefir@d620:~$ ls /usr/lib/libcrypto* -l -rw-r--r-- 1 root root 2313258 2011-02-23 01:45 /usr/lib/libcrypto.a -rw-r--r-- 1 root root 14231942 2010-10-17 04:14 /usr/lib/libcrypto++.a lrwxrwxrwx 1 root root 13 2012-02-19 22:52 /usr/lib/libcryptopp.a -> libcrypto++.a lrwxrwxrwx 1 root root 14 2012-02-19 22:52 /usr/lib/libcryptopp.so -> libcrypto++.so lrwxrwxrwx 1 root root 16 2012-02-19 22:52 /usr/lib/libcryptopp.so.8 -> libcrypto++.so.8 lrwxrwxrwx 1 root root 23 2012-01-22 21:46 /usr/lib/libcrypto.so -> /lib/libcrypto.so.0.9.8 lrwxrwxrwx 1 root root 20 2012-02-19 22:52 /usr/lib/libcrypto++.so -> libcrypto++.so.8.0.0 lrwxrwxrwx 1 root root 23 2011-07-28 16:10 /usr/lib/libcrypto.so.0.9.8 -> /lib/libcrypto.so.0.9.8 lrwxrwxrwx 1 root root 20 2012-02-19 22:52 /usr/lib/libcrypto++.so.8 -> libcrypto++.so.8.0.0 -rw-r--r-- 1 root root 4355092 2010-10-17 04:14 /usr/lib/libcrypto++.so.8.0.0
I'll try to link statically tomorrow. Thanks.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 19, 2012, 11:23:27 PM |
|
Zefir, Just try one thing for me. Apply the following diff to your Makefile, then recompile and try again. (basically, just switch the "cryptopp" library refs to "crypto++"). 12,13c12,13 < INCLUDE_OPTS += -I/usr/include/cryptopp -Icryptopp -fPIC -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS < LIBRARY_OPTS += -lcryptopp -lpthread -lpython2.7 --- > INCLUDE_OPTS += -I/usr/include/crypto++ -Icrypto++ -fPIC -DUSE_CRYPTOPP -D__STDC_LIMIT_MACROS > LIBRARY_OPTS += -lcrypto++ -lpthread -lpython2.7 21c21 < LIBRARY_OPTS = -lcryptopp -lpthread -lpython2.6 --- > LIBRARY_OPTS = -lcrypto++ -lpthread -lpython2.6 24c24 < LIBRARY_OPTS = -lcryptopp -lpthread -lpython2.5 --- > LIBRARY_OPTS = -lcrypto++ -lpthread -lpython2.5
I don't know if that will work, but it's worth a try. Please PM to continue this discussion if it doesn't work.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 12:26:56 AM |
|
yea I get "Connection to localhost DNE" (does not exist) I did a yaourt -S armory-git again, it says "Making package: armory-git 20120219-1 (Sun Feb 19 17:45:04 EST 2012)" so I'm assuming it's cloning todays git but I'm still getting the error.
I've been chatting with Cypherdoc, who's had this problem persistently. After the protocol switchover, it seems to be magically working for him... !?! I'm not sure what the protocol switch had to do with it... but perhaps clocks/UTC were out of sync, and one program switched before the other...? Please let me know if you still have the problem! (make sure to restart both Satoshi and Armory)
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
February 20, 2012, 02:04:25 AM |
|
yea I get "Connection to localhost DNE" (does not exist) I did a yaourt -S armory-git again, it says "Making package: armory-git 20120219-1 (Sun Feb 19 17:45:04 EST 2012)" so I'm assuming it's cloning todays git but I'm still getting the error.
I've been chatting with Cypherdoc, who's had this problem persistently. After the protocol switchover, it seems to be magically working for him... !?! I'm not sure what the protocol switch had to do with it... but perhaps clocks/UTC were out of sync, and one program switched before the other...? Please let me know if you still have the problem! (make sure to restart both Satoshi and Armory) yes indeed it is working now. now something i must not understand properly. i copied the zip files onto a USB stick and loaded them to my offline laptop that only has 1G RAM. its a Win7 64 bit setup in a VM. i unpackaged and installed them according to instruction. but when i open Armory Qt it appears like its looking for the blockchain and python won't run? or is it b/c its only 1G? but then i thought you said the offline laptop only needs 512K? i'm missing something obviously.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 02:08:29 AM |
|
yea I get "Connection to localhost DNE" (does not exist) I did a yaourt -S armory-git again, it says "Making package: armory-git 20120219-1 (Sun Feb 19 17:45:04 EST 2012)" so I'm assuming it's cloning todays git but I'm still getting the error.
I've been chatting with Cypherdoc, who's had this problem persistently. After the protocol switchover, it seems to be magically working for him... !?! I'm not sure what the protocol switch had to do with it... but perhaps clocks/UTC were out of sync, and one program switched before the other...? Please let me know if you still have the problem! (make sure to restart both Satoshi and Armory) yes indeed it is working now. now something i must not understand properly. i copied the zip files onto a USB stick and loaded them to my offline laptop that only has 1G RAM. its a Win7 64 bit setup in a VM. i unpackaged and installed them according to instruction. but when i open Armory Qt it appears like its looking for the blockchain and python won't run? or is it b/c its only 1G? but then i thought you said the offline laptop only needs 512K? i'm missing something obviously. Is there an error displayed when you run it? Is it possible for you to run it from a terminal so you can see the error? (implementing a more-robust logging system is on my to-do list). It is correct that you need nothing special on the offline system. My offline system is running Ubuntu 10.04 with 512 MB of RAM. If it's working properly, it should pop up a window saying it detects no internet connection, do you want to run in offline mode? One mistake I made was that there's no option to tell it not to load the blockchain if it's there. If you are running Win7 on a 1GB VM, you most definitely don't want it trying to load the blockchain. I recommend removing the blockchain if it's there.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 02:24:25 AM |
|
Dammit Cypherdoc, how do you keep getting problems I can't reproduce?! I just tried a fresh Win7-64 installation, with 1GB of RAM and no network. I installed the three packages from the website (python, twisted, pyqt), ran the install_zope.py script, then ran ArmoryQt.py. It works for me! The interface looks the same, just without any actual information displayed (there's nothing to display!). Click on the "Offline Transactions" button to get to the window about signing transactions.
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
February 20, 2012, 03:19:37 AM |
|
yeah, there is a blockchain on this computer which it looks like its trying to read as i see it in the terminal window. python requests the Runtime to terminate it and a python.exe window pops up stating it has stopped working.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 03:34:49 AM |
|
yeah, there is a blockchain on this computer which it looks like its trying to read as i see it in the terminal window. python requests the Runtime to terminate it and a python.exe window pops up stating it has stopped working.
The issue is that a system with 1GB of RAM cannot load the blockchain, but it will try if it's there. If you don't need the blockchain on that system anymore, just remove the AppData/Roaming/Bitcoin/blk0001.dat file. Everything should work after that. Otherwise, I will have to put in a switch to let the user select that they don't want to load the blockchain. Until then, just delete or rename the blk0001.dat file, at least temporarily.
|
|
|
|
simonk83
|
|
February 20, 2012, 03:45:50 AM |
|
Dammit Cypherdoc, how do you keep getting problems I can't reproduce?! I just tried a fresh Win7-64 installation, with 1GB of RAM and no network. I installed the three packages from the website (python, twisted, pyqt), ran the install_zope.py script, then ran ArmoryQt.py. It works for me! The interface looks the same, just without any actual information displayed (there's nothing to display!). Click on the "Offline Transactions" button to get to the window about signing transactions.
It worked for me on an offline laptop as well if that helps. Same specs (possibly less RAM). Doesn't really help me due to the Python 64bit issues mentioned above (I'm in the same boat), but just letting you know anyway
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
February 20, 2012, 04:06:30 AM |
|
i've always wanted one of those cool vanitygen addresses but never knew how to generate one. any plans for integrating vanitygen in the future?
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 06:04:50 AM |
|
i've always wanted one of those cool vanitygen addresses but never knew how to generate one. any plans for integrating vanitygen in the future?
I've been asked about this a few times. I think I will do it eventually, at least for Windows (where there's a fairly consistent environment). But that's low priority, at the moment... If you would like to do it yourself: Here is the vantiygen thread, and the download link for Windows binaries. You will have to run it from the command line to supply the arguments and make sure the window stays open when it's done. But it's actually quite simple once you get to the directory with the executable in it. You should only need to type something as simple as: ./vanitygen64.exe 1Cypher ./oclvanitygen.exe 1Cypher The third option there is for GPU (OpenCL) vanitygen, which is, of course, much faster than the CPU. There are many more customization options, but I'll let you look at the thread for that. When you run it, it will tell you how long it expects to take (a timeframe for 50% chance of success). 6 letters (such as 1Cypher) will take a few days on a CPU, a few hours on a GPU. Every letter after that, multiply by 58 (it gets out of hand quickly!). Check back with it every couple hours and see if it succeeded. Just copy (or type) the very long string into the Armory import-address dialog and you're done!
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
|
February 20, 2012, 03:20:37 PM |
|
i've always wanted one of those cool vanitygen addresses but never knew how to generate one. any plans for integrating vanitygen in the future?
I've been asked about this a few times. I think I will do it eventually, at least for Windows (where there's a fairly consistent environment). But that's low priority, at the moment... If you would like to do it yourself: Here is the vantiygen thread, and the download link for Windows binaries. You will have to run it from the command line to supply the arguments and make sure the window stays open when it's done. But it's actually quite simple once you get to the directory with the executable in it. You should only need to type something as simple as: ./vanitygen64.exe 1Cypher ./oclvanitygen.exe 1Cypher The third option there is for GPU (OpenCL) vanitygen, which is, of course, much faster than the CPU. There are many more customization options, but I'll let you look at the thread for that. When you run it, it will tell you how long it expects to take (a timeframe for 50% chance of success). 6 letters (such as 1Cypher) will take a few days on a CPU, a few hours on a GPU. Every letter after that, multiply by 58 (it gets out of hand quickly!). Check back with it every couple hours and see if it succeeded. Just copy (or type) the very long string into the Armory import-address dialog and you're done! thanks yet again. i noticed that MultiBit allows installation of their wallet on a usb stick. would it be possible to run the offline Armory signing wallet off something like i have which is a 4G encrypted Ironkey? usb key installations are nice and small, portable, and theoretically just as safe as your setup since you need a usb key as well as a go between. i'm obviously overlooking an OS to run it on but Linuxcoin has figured out a way to run off a usb stick. just askin...
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 03:45:41 PM |
|
It's been so long since I implemented the functionality (and now I'm at work where I can't check), but I did have a setting for "ExtraWallets." That setting is a list of paths where you have other wallets not found in your app-data directory. Armory will then look for that wallet when it loads, but only when Armory is restarted. The issue with this is that the Ironkey only manages the encryption of the data on the device, but your system will still be accessing your wallet private keys in order to sign it. A virus on the online system that is watching your process memory will have no problem picking out the BTC private keys when you go to sign a transaction. It's because the OS does the crypto signing, which means it will have to copy the private keys from the IronKey wallet to the local RAM in order to apply it. In other words, you can't really get the benefit of the offline wallet unless you have a separate OS to do the signing for you. Granted, the way I've set it up, the "OS" only needs to process a couple hundred bytes of tx data and run an ECDSA signature module -- meaning you could make some pretty super-lightweight "offline systems." For now, I feel like there's too many old laptops in the world waiting to be junked that are perfectly good for this, so this is an acceptable solution for now.
|
|
|
|
zefir
Donator
Hero Member
Offline
Activity: 919
Merit: 1000
|
|
February 20, 2012, 04:27:55 PM |
|
[...] I don't know if that will work, but it's worth a try. Please PM to continue this discussion if it doesn't work.
Thanks. Don't see why, but this helped.
|
|
|
|
btc_artist
Full Member
Offline
Activity: 154
Merit: 102
Bitcoin!
|
|
February 20, 2012, 05:02:41 PM |
|
Would it be possible to put a block explorer into Armory?
This would be a good bit of functionality. On the offline computer, Armory will detect no internet and go into "offline mode."
Might be a nice idea to have a way of turning on "offline mode" even if you have an internet connection.
|
BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
February 20, 2012, 06:59:37 PM |
|
[...] I don't know if that will work, but it's worth a try. Please PM to continue this discussion if it doesn't work.
Thanks. Don't see why, but this helped. When you say it "helped," do you mean that everything links and runs properly, now? Did you have to use the LD_PRELOAD line? For whatever reason, "libcryptopp" and "libcrypto++" are kind of different libraries. But only kind of... I never fully understood what's different. Apparently, the cryptopp library on your system is missing some symbols that crypto++ has. It might simply be a version thing...
|
|
|
|
|