etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 11, 2012, 04:03:32 AM |
|
I tried compiling and running Armory on Ubuntu 11.10 and got the following error. I followed your instructions to the T, and get this: ******************************************************************************** Loading Armory Engine: Armory Version: 0.50 PyBtcAddress Version: 1.00 PyBtcWallet Version: 1.35 Detected Operating system: Linux User home-directory : /home/me Satoshi BTC directory : /home/me/.bitcoin/ Satoshi blk0001.dat : /home/me/.bitcoin/blk0001.dat Armory home dir : /home/me/.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 Traceback (most recent call last): File "ArmoryQt.py", line 39, in <module> from armoryengine import * File "/home/me/BitcoinArmory/armoryengine.py", line 330, in <module> TheBDM = Cpp.BlockDataManager().getBDM() NameError: name 'Cpp' is not defined
Both of the files mentioned in the error message are in the BitcoinArmory directory (where I run python ArmoryQt.py). btc_artist, (1) Did you try the LD_PRELOAD command before running Armory? I've noticed I need that on any Ubuntu after 10.04: LD_PRELOAD=/usr/lib/libcryptopp.so python ArmoryQt.py Make sure that /usr/lib/libcryptopp.so exists, or check for libcrypto++.so and use that instead. But they should be there if you installed all the packages on the first step. (2) If that doesn't work, there's a different problem. From the project directory, go into a python shell and type "import CppBlockUtils". It will fail again, but will give you a more-descriptive error message. If it's something like "InteratedZZ8CHashZ5Function", go back to step 1 (cryptopp has a problem). If the error is something else, please PM me and I'll address this off-thread. So far, I haven't seen any other errors besides the cryptopp linking at runtime (which is what the LD_PRELOAD line resolves).
|
|
|
|
btc_artist
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 154
Merit: 102
Bitcoin!
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 11, 2012, 09:19:30 PM |
|
Using LD_PRELOAD fixed it for me. Thanks!
|
BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
|
|
|
dani147624
Newbie
Offline
Activity: 22
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 12, 2012, 02:27:23 PM Last edit: February 12, 2012, 02:42:35 PM by dani147624 |
|
Do you plan adding support for non-deterministic wallets? I don't think I would like to use a deterministic one. (I can't really give a reason why, I just don't like the idea.)
Also, if the client will not do block validation, please keep the option to only accept blocks through the satoshi client.
Edit: Oh, by the way, I mentioned I can't create transactions with insanely large transaction fees. Here's the error message I get when trying to send 1 satoshi with a 2200 BTC fee: "SelectCoins returned a list of size zero. This is problematic and probably not your fault." I don't think this is a real problem, but I thought it's worth mentioning.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 12, 2012, 03:08:03 PM |
|
Do you plan adding support for non-deterministic wallets? I don't think I would like to use a deterministic one. (I can't really give a reason why, I just don't like the idea.)
I suppose I can add such support, but it feels like a step backwards. I believe the security improvement of non-deterministic wallets over deterministic wallets is tiny (if any) , yet creates all kinds of backup problems -- requiring a persistent backup solution, along with having to backup hundreds of individual keys instead of one master key (which also means a paper-backup could be many pages, and recover would require entering hundreds of keys). That doesn't mean that no one should have the option. It's just that I haven't seen any demand for it. And it might be a bit of work to get it right, so I would need more than one person to request it. Anyone else, please speak up if you want non-deterministic wallets as an option. Otherwise, if you need help being convinced that there are basically only advantages to deterministic wallets with negligible downsides, I'll be happy to debate that with you ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Also, if the client will not do block validation, please keep the option to only accept blocks through the satoshi client.
At the moment, all network information comes through the Satoshi client, I don't have a choice. Once I bring down the RAM requirement I will work on more independent networking (or integrating existing Satoshi networking code into Armory). I wouldn't consider not having some kind of validation for incoming network data.
|
|
|
|
chris200x9
Legendary
Offline
Activity: 1316
Merit: 1011
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 12, 2012, 03:29:39 PM |
|
just downloaded works great, now I could import the private key of my vanity address ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif) (check my sig!)
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 16, 2012, 04:37:21 AM |
|
New version! 0.5.1-alpha. Download at: http://bitcoinarmory.com/index.php/get-armoryThis is a minor-complexity update, but a very important one! The Feb 20 protocol switchover was not previously handled in Armory, which is fixed in 0.5.1. If you don't upgrade to 0.5.1, Armory will stop working sometime on Feb 20. This also gave me the opportunity to commit a fix for P2Pool coinbase transactions.
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 16, 2012, 05:43:31 PM |
|
eto,
i'm getting an error trying to install PyQt4, 64 bit version. was able to install all other Windows 64 bit packages except this one.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 16, 2012, 05:50:13 PM |
|
eto,
i'm getting an error trying to install PyQt4, 64 bit version. was able to install all other Windows 64 bit packages except this one.
Cypherdoc, PM me with the exact error. I'll help you figure it out.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 16, 2012, 06:29:53 PM |
|
It appears that Riverbank Computing released a new version and killed the old PyQt4 link I had posted. I have updated the links on the Get Armory! page, and Cypherdoc claims that it worked for him. He ran into another problem, but it was either due to not clicking the "install_zope.py" script, or needing to do it twice, not sure which. I know that installing programs and having a console window open is super annoying in Windows. Unfortunately I have no other option -- I have spent hours trying to figure out how to get Armory to shut down cleanly in Windows. If I were to make binaries right now, all the RAM used by Armory will stay locked, even after you close the program. I will figure it out, and I will make binaries. Thanks for your patience! Also, I just posted a powerpoint presentation on Using Offline Wallets on the webpage. Please take a look and give me feedback. Alternatively, you can view it locally by downloading it here. It will look a little better locally, anyway -- it appears that slideshare butchered the quality of the presentation, but it's still readable.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 16, 2012, 08:48:15 PM |
|
Anyone else having issues sending transactions in Armory? There was some posts way back from Win-7-64 users getting a "Connection to localhost DNE" error (Does Not Exist), despite not being in a "offline-mode". I thought problem went away, but I know at least one person who is still having a problem with it (cypherdoc).
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2012, 09:07:02 PM |
|
To everyone here: with the recent release of Armory Alpha 0.5.1, I have decided that it is in my best interest to pursue some financial backing before plunging back into the Bitcoin development well. So, I have started a crowdfunding project on RocketHub to raise money from the Bitcoin community to drop to part-time at my real job, and spend the extra time on Armory. Find out more from the thread I started in the main Bitcoin forum: https://bitcointalk.org/index.php?topic=64449.0Or go straight to the RocketHub page to donate with a credit card: I really look forward to see how well this works!
|
|
|
|
RoloTonyBrownTown
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 02:31:33 AM |
|
I tried compiling and running Armory on Ubuntu 11.10 and got the following error. I followed your instructions to the T, and get this: ******************************************************************************** Loading Armory Engine: Armory Version: 0.50 PyBtcAddress Version: 1.00 PyBtcWallet Version: 1.35 Detected Operating system: Linux User home-directory : /home/me Satoshi BTC directory : /home/me/.bitcoin/ Satoshi blk0001.dat : /home/me/.bitcoin/blk0001.dat Armory home dir : /home/me/.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 Traceback (most recent call last): File "ArmoryQt.py", line 39, in <module> from armoryengine import * File "/home/me/BitcoinArmory/armoryengine.py", line 330, in <module> TheBDM = Cpp.BlockDataManager().getBDM() NameError: name 'Cpp' is not defined
Both of the files mentioned in the error message are in the BitcoinArmory directory (where I run python ArmoryQt.py). I get the same error on Win 7 x64...
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 02:45:58 AM |
|
Whoa, I just realized that I accidentally left the 0.5 link up for the 64-bit version. I have updated the link on the Get Armory! page with the version 0.5.1 for the 64-bit. I get the same error on Win 7 x64...
If you followed the four steps (python, twisted, zope, pyqt), and then unpacked the 0.5.1 zip file, you should only need double click ArmoryQt.py (in fact I just did a fresh install of Win7-64 and tested it again with the updated 0.5.1 pseudo-binary, and it worked). The error you mention occurs when the _CppBlockUtils.pyd and/or CppBlockUtils.py file are not present in the directory (which are included in the .zip file). If they are there and you still get the error, then perhaps the .pyd file (which is actually a .dll), was compiled for the wrong architecture, i.e. you downloaded the 32-bit version for a 64-bit machine. Try it again with the new 0.5.1 link on the webpage, and make sure everything was installed and unpacked properly. PM me if it still doesn't work!
|
|
|
|
RoloTonyBrownTown
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 02:54:04 AM |
|
Whoa, I just realized that I accidentally left the 0.5 link up for the 64-bit version. I have updated the link on the Get Armory! page with the version 0.5.1 for the 64-bit. I get the same error on Win 7 x64...
If you followed the four steps (python, twisted, zope, pyqt), and then unpacked the 0.5.1 zip file, you should only need double click ArmoryQt.py (in fact I just did a fresh install of Win7-64 and tested it again with the updated 0.5.1 pseudo-binary, and it worked). The error you mention occurs when the _CppBlockUtils.pyd and/or CppBlockUtils.py file are not present in the directory (which are included in the .zip file). If they are there and you still get the error, then perhaps the .pyd file (which is actually a .dll), was compiled for the wrong architecture, i.e. you downloaded the 32-bit version for a 64-bit machine. Try it again with the new 0.5.1 link on the webpage, and make sure everything was installed and unpacked properly. PM me if it still doesn't work! The only thing I can think of is that I downloaded the x64 Armory client (I'm on an x64 system), but I have the 32bit version of Python (long story) so I grabbed the 32bit files for the dependencies...
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 03:02:20 AM |
|
The only thing I can think of is that I downloaded the x64 Armory client (I'm on an x64 system), but I have the 32bit version of Python (long story) so I grabbed the 32bit files for the dependencies...
Good to know! I forgot that some people are using pre-existing python installations. When I was developing armory on Windows 7, x64, I couldn't even compile it in Win32-mode, because the compiler complained that "python27.lib" was for the wrong architecture. Therefore, I had no choice but to install 64-bit python, just to get it to compile. I'm going to start a list of "Known Issues" soon, I'll add this to the list!
|
|
|
|
RoloTonyBrownTown
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 03:03:22 AM Last edit: February 19, 2012, 09:12:19 AM by RoloTonyBrownTown |
|
Ah ok, so it's 64bit Python or nothing (for me)? If only I could remember why I installed the 32bit version.... ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) I have a bunch of other stuff running using that Python installation so I might just hold off on Armory until something else is worked out. Not sure I can be bothered risking having to fix everything if I upgrade to x64 Python ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) EDIT: Ok, I tried it, but while Armory worked, other stuff broke quite badly so I'll have to hold off for now.
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 06:21:07 PM |
|
Concerning the offline transactions feature...
Would a feature like this be used for a large company like Best Buy? Best Buy would create multiple wallets on each cash register that would be offline. At the end of the day the wallets are collected, imported on an online computer, and then broadcasted.
It would be used by anyone that wants to store their private keys offline, but still manage their wallet on an offline computer. This does include companies. The company would have a secure office somewhere with a non-internet-connected computer. They would create one wallet per cash register, and the copy the watching-only version to each register. Then the registers could monitor transactions, and generate addresses for customers, but the register would not be able to spend any of the money. Then if the company wants to move the cash, they can create the transaction from the register, but the txs can't be signed. Instead they are copied to a USB key, taken to the secure location, and the offline system signs all of them. The final transactions are taken back to the internet and broadcast. But this is useful for anyone who wants top-notch security. If I have more than $100 in BTC, I'll be keeping it in a wallet that has never touched the internet. By using this feature, it is virtually impossible for an attacker to compromise your keys, because the private keys have never left the offline computer. Some creative USB key viruses might succeed, but that's a big stretch, requiring a very specific, targeted virus -- and if you're concerned about that, you can do something creative using the raw transaction blocks of text (perhaps convert them to QR code and scan from the offline computer? then you never even plug in a USB key). The community here has come up with all sorts of command-line tools for doing this, but they are all complicated and pretty much only accessible to the die-hards. I believe that Armory will bring this functionality to anyone who wants to use it, and they might even figure it out without a tutorial! If that works, then I've succeeded! (btw, you can add donations to offline transactions the same as online transactions ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ) EDIT: to answer one of your questions more directly.... wallets are never copied/moved after the initial distribution. Once they are in place, the only thing that is moved/copied between systems is transaction files (*.unsigned.tx and *.signed.tx). In fact, the offline computer doesn't even need the blockchain! That's innovation! (the other solutions I mentioned above which are complicated, do require making sure the offline computer maintains a sync'd blockchain) so my question in this scenario is what will the offline and watching only wallets "look" like in terms of their ledgers in the example of a business with a cash register with say 100 newly generated addresses on it after a days work? lets say the owner only wants to move the btc from 75 of these new addresses that took in money during the day but not do anything with the other 25. after the attendant brings the owner the usb stick who then has his offline computer sign the tx's to move the money to the owner's address, what happens to the ledger in the offline wallet? will it show the 25 unsigned tx's in it? in other words what exactly are we moving with the usb stick, individual tx's or all changes to the wallet?
|
|
|
|
cbeast
Donator
Legendary
Offline
Activity: 1736
Merit: 1010
Let's talk governance, lipstick, and pigs.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 07:31:30 PM |
|
Would it be possible to put a block explorer into Armory?
|
Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 09:55:32 PM |
|
so my question in this scenario is what will the offline and watching only wallets "look" like in terms of their ledgers in the example of a business with a cash register with say 100 newly generated addresses on it after a days work?
lets say the owner only wants to move the btc from 75 of these new addresses that took in money during the day but not do anything with the other 25. after the attendant brings the owner the usb stick who then has his offline computer sign the tx's to move the money to the owner's address, what happens to the ledger in the offline wallet? will it show the 25 unsigned tx's in it? in other words what exactly are we moving with the usb stick, individual tx's or all changes to the wallet?
On the offline computer, Armory will detect no internet and go into "offline mode." From there, it doesn't even bother trying to show balances or ledger entries: there's nothing to show! The sole purpose of the offline computer is to look at unsigned transactions, determine if it has the keys to sign them, then offer to do so (and asking user for decryption passphrase if necessary). To know exactly what is transferred via USB key, see BIP 0010. It is basically just a standard way to create a block of text that contains the transaction to be signed, and all transactions it is spending from (so input values can be verified). It was intended for multi-sig signature collection, but it works great for offline wallets (treating them as just a 1-of-1 tx). What is described in BIP 0010 is the only thing that is put on the USB key. No other information. The reason this is safe, is that the transaction and all the supporting transactions contain 100% of the information you need to verify that "I am signing a transaction to send X BTC to Address Y with fee Z". If someone were to manipulate the transaction on the way to the offline computer, the user would either see that it's been manipulated, or be signing a transaction that is ultimately invalid. This is why the offline system only needs 512MB of RAM: it needs to run the operating system, and basically just do the ECDSA signatures on top of that. Would it be possible to put a block explorer into Armory?
I already created a block-explorer a few months ago, when I got much of the core libraries implemented. It was my "warm-up" for developing the rest of Armory. See PyBtcEngine and the PyBtcEngine block-explorer demo. This was the original project, from which I forked BitcoinArmory. Last I tried it, it worked (run pyqt/blockexplore.pyw), but it's been a long time. I do have plans to cannibalize that dialog to include it in the future "Developer Tools" in Armory. It's not a trivial transfer though, so I am considering other things to be a priority right now. I plan to put in an ECDSA calculator with it ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
chris200x9
Legendary
Offline
Activity: 1316
Merit: 1011
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2012, 10:17:27 PM |
|
Hi I can't send bitcoins from my wallet.
|
|
|
|
|