runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
April 15, 2013, 08:55:02 PM |
|
etotheipi, do you have an update on the offline wallet system, where Armory in offline mode is running on an offline device, connected to a PC via a USB-to-serial adapter, and the Armory running in online mode on the PC is able to send transactions to the offline device for signing?
I really want to get this up and running, so I'm interested in hearing how far you are with this, and if there's anything I can do to help.
You can use the offline_server branch of my fork. It's based on etotheipi's latest testing branch. You'll have to disable the serial TTY on the Pi. I used this guide. Then compile Armory for the Pi. I used this guide. Finally plug the Pi into your computer (it can be powered by the serial cable), transfer the compiled files (from a USB drive, not over the serial cable!) and run extras/offline_serial_server.py (for me it's /dev/ttyAMA0 and baud rate 115200). For your online computer, you'll have to be in advanced or expert mode, then you can set the device and baud rate in the settings dialog. Once that is complete, you should see the status change to connected in the bottom right. Now, on the dialog from which you can save an offline transaction, you can also transmit it to the offline device. You'll be prompted for the wallet passphrase if your wallet is encrypted. Enter it on the Pi's keyboard. Once the Pi transmits the signed transaction back to your computer, it will automatically advance to the Broadcast dialog. It should be pretty easy to use, but I created it so maybe that's just me. That's awesome! Thanks for coding and releasing this. I hope this is merged into mainline Armory at some point. I'm planning on starting with the old school method of transferring transactions with a USB stick, and, when I'm comfortable with this, move on to this method.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 18, 2013, 05:52:39 AM |
|
Question!Has anyone ever noticed a difference between the Win64 and Windows_all versions of Armory, on 64-bit Windows? I just noticed on my googlecode download page that 99.9% of downloads are for the win32 version. And I know more than 0.1% of users are using 64-bit! I ask, because it's kind of a pain to keep producing both 32-bit and 64-bit versions of the software. If I could reduce it to just one Windows version, that would dramatically reduce the amount of work I have to do for a release! Perhaps this proves that the 32-bit version is interchangeable with the 64-bit version and I can ditch it... Thoughts/experiences?
|
|
|
|
K1773R
Legendary
Offline
Activity: 1792
Merit: 1008
/dev/null
|
|
April 18, 2013, 09:12:31 AM |
|
Question!Has anyone ever noticed a difference between the Win64 and Windows_all versions of Armory, on 64-bit Windows? I just noticed on my googlecode download page that 99.9% of downloads are for the win32 version. And I know more than 0.1% of users are using 64-bit! I ask, because it's kind of a pain to keep producing both 32-bit and 64-bit versions of the software. If I could reduce it to just one Windows version, that would dramatically reduce the amount of work I have to do for a release! Perhaps this proves that the 32-bit version is interchangeable with the 64-bit version and I can ditch it... Thoughts/experiences? win32 works on win64 too therefore it would be better to just build for win32?!
|
[GPG Public Key]BTC/DVC/TRC/FRC: 1 K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM A K1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: N K1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: L Ki773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: E K1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: b K1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
|
|
|
Raoul Duke
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
|
April 18, 2013, 09:41:32 AM |
|
Is there anything in Armory that takes advantage of the 64bit arch, for performance reasons for example? If the answer is no, 32bits only releases are enough I would say.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 18, 2013, 04:10:51 PM |
|
Well, I'll be damned. I actually linked both the Win64 and Windows_all versions to the Windows_all download link. That explains a lot!
I think, for now, I will only post the Windows_all version, and link users to the 64-bit version if they have difficulties.
OH! I bet this is the reinstall problem so many people had! Armory can't start after a fresh install: because they thought they had the 64-bit version installed previously, and installed the new 64-bit version. But they actually had the 32-bit version installed. It doesn't change the fact that the installer should do a full overwrite anyway, but it does make more sense, now.
|
|
|
|
|
Mooshire
|
|
April 18, 2013, 07:56:48 PM |
|
I run Windows 8. Every time I try to run Armory, I get this: Traceback (most recent call last): File "ArmoryQt.py", line 4804, in <module> File "ArmoryQt.py", line 466, in __init__ File "ArmoryQt.py", line 3867, in setDashboardDetails File "armoryengine.pyc", line 10777, in getSDMState File "armoryengine.pyc", line 10809, in getSDMStateLogic File "armoryengine.pyc", line 10942, in getTopBlockInfo File "armoryengine.pyc", line 10934, in updateTopBlockInfo File "armoryengine.pyc", line 10867, in createProxy TypeError: %d format: a number is required, not str
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 18, 2013, 08:00:17 PM |
|
I run Windows 8. Every time I try to run Armory, I get this: Traceback (most recent call last): File "ArmoryQt.py", line 4804, in <module> File "ArmoryQt.py", line 466, in __init__ File "ArmoryQt.py", line 3867, in setDashboardDetails File "armoryengine.pyc", line 10777, in getSDMState File "armoryengine.pyc", line 10809, in getSDMStateLogic File "armoryengine.pyc", line 10942, in getTopBlockInfo File "armoryengine.pyc", line 10934, in updateTopBlockInfo File "armoryengine.pyc", line 10867, in createProxy TypeError: %d format: a number is required, not str
Apparently you have a non-numeric port number in your bitcoin.conf file? Did you create that file yourself? What's the port number?
|
|
|
|
Mooshire
|
|
April 18, 2013, 08:06:07 PM |
|
Yes, I remember creating the file myself. fixed it, works now! thanks!
|
|
|
|
Deth
|
|
April 18, 2013, 08:56:23 PM |
|
etotheipi, just for you to know, latest v0.88-beta from github still has issue with unicode when trying to enter settings UnicodeEncodeError: 'ascii' codec can't encode characters in position 228-229: ordinal not in range(128)
Traceback (most recent call last): File "/opt/BitcoinArmory/ArmoryQt.py", line 716, in openSettings dlgSettings = DlgSettings(self, self) File "/opt/BitcoinArmory/qtdialogs.py", line 10215, in __init__ 'specified format.' % exampleStr ) File "/opt/BitcoinArmory/qtdefines.py", line 212, in __init__ self.setText(txt, **kwargs) File "/opt/BitcoinArmory/qtdefines.py", line 215, in setText text = str(text) UnicodeEncodeError: 'ascii' codec can't encode characters in position 228-229: ordinal not in range(128)
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 18, 2013, 09:03:33 PM |
|
etotheipi, just for you to know, latest v0.88-beta from github still has issue with unicode when trying to enter settings UnicodeEncodeError: 'ascii' codec can't encode characters in position 228-229: ordinal not in range(128)
Traceback (most recent call last): File "/opt/BitcoinArmory/ArmoryQt.py", line 716, in openSettings dlgSettings = DlgSettings(self, self) File "/opt/BitcoinArmory/qtdialogs.py", line 10215, in __init__ 'specified format.' % exampleStr ) File "/opt/BitcoinArmory/qtdefines.py", line 212, in __init__ self.setText(txt, **kwargs) File "/opt/BitcoinArmory/qtdefines.py", line 215, in setText text = str(text) UnicodeEncodeError: 'ascii' codec can't encode characters in position 228-229: ordinal not in range(128) Gah! I missed something! I fixed the unicode path names, but not if your default datetime format has unicode characters. That's unfortunate. You can manually modify qtdefines.py:215 to say "unicode(text)" instead of "str(text)". I know that doesn't solve it for everyone else... That's also what happens when I don't have a lot of people testing. I have conceded that certain bugs will only be found after major releases, and that there will be a v0.XX.1 that will have to happen 1-2 weeks later. Oh well, there's no real way around it (I don't blame people for being hesitant about testing new versions with their primary wallet).
|
|
|
|
Deth
|
|
April 18, 2013, 09:18:15 PM |
|
Thanks! It works now I`ll be back if found any new bugs
|
|
|
|
opentoe
Legendary
Offline
Activity: 1274
Merit: 1000
Personal text my ass....
|
|
April 19, 2013, 03:27:46 AM |
|
My Armory just stopped working. It crashes when trying to sync up. Before I start messing around with things, I would like which direction to go in? I do have bitcoin in my wallet. Please advise.
Faulting application name: Armory.exe, version: 0.0.0.0, time stamp: 0x49180193 Faulting module name: MSVCR90.dll, version: 9.0.30729.6871, time stamp: 0x4fee6073 Exception code: 0x40000015 Fault offset: 0x0005beae Faulting process id: 0x1f84 Faulting application start time: 0x01ce3cad710e53a1 Faulting application path: C:\Program Files (x86)\Armory\Armory Bitcoin Client\Armory.exe Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6871_none_50944e7cbcb706e5\MSVCR90.dll Report Id: 0edbb14d-a8a1-11e2-be93-180373e36d96 Faulting package full name: Faulting package-relative application ID:
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 19, 2013, 03:29:13 AM |
|
My Armory just stopped working. It crashes when trying to sync up. Before I start messing around with things, I would like which direction to go in? I do have bitcoin in my wallet. Please advise.
Faulting application name: Armory.exe, version: 0.0.0.0, time stamp: 0x49180193 Faulting module name: MSVCR90.dll, version: 9.0.30729.6871, time stamp: 0x4fee6073 Exception code: 0x40000015 Fault offset: 0x0005beae Faulting process id: 0x1f84 Faulting application start time: 0x01ce3cad710e53a1 Faulting application path: C:\Program Files (x86)\Armory\Armory Bitcoin Client\Armory.exe Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6871_none_50944e7cbcb706e5\MSVCR90.dll Report Id: 0edbb14d-a8a1-11e2-be93-180373e36d96 Faulting package full name: Faulting package-relative application ID:
Did you uninstall the previous version before installing the new one? At least, you can rerun the installer and choose "Repair Installation".
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 19, 2013, 04:11:16 AM |
|
I run Windows 8. Every time I try to run Armory, I get this: Traceback (most recent call last): File "ArmoryQt.py", line 4804, in <module> File "ArmoryQt.py", line 466, in __init__ File "ArmoryQt.py", line 3867, in setDashboardDetails File "armoryengine.pyc", line 10777, in getSDMState File "armoryengine.pyc", line 10809, in getSDMStateLogic File "armoryengine.pyc", line 10942, in getTopBlockInfo File "armoryengine.pyc", line 10934, in updateTopBlockInfo File "armoryengine.pyc", line 10867, in createProxy TypeError: %d format: a number is required, not str
Argh! Just found that there is a real bug here, not user error. The issue is that i'm not casting the "rpcport" in the bitcoin.conf file to an integer, so it's failing to produce the correct URL when you have any rpcport argument in the bitcoin.conf file. And for Windows users, there's not a convenient way around this bug. I can't believe no testers ran into this! Man, I need more testers... The only solution I know for working around this with 0.88-beta is to remove rpcport from your bitcoin.conf file, and run bitcoin-qt/bitcoind with the -rpcport command-line argument. Then run Armory with the -satoshi-port argument that matches. I hate releasing a bugfix version right after a regular release and triggering notifications again (effectively spamming users). I guess, I could accumulate these bugs into a v0.88.1-beta version, and silently update it, without triggering notifications. But still change all the links to point to the new version. I guess that works...
|
|
|
|
oakpacific
|
|
April 20, 2013, 03:48:48 AM Last edit: April 20, 2013, 04:03:34 AM by oakpacific |
|
I have got a maybe silly idea, and this is not strictly related to Armory, but since I consider it silly and you are possibly the only one I knew here who is both knowledgeable and friendly enough to help a noob, I think maybe I can post it here to get some advices from you before I decide to make a thread or not....I am sorry.
The idea is to spend bitcoins in a way similar to physical coins to prevent the "race attack". So we know traditionally the currency datas are represented in a special kind of currency data type, as they are not infinitely divisible, when we spend the fiats the smallest denomination is usually one cent/one penny, and any amount can be splitted into a relatively small number of fixed denominations(1 cent, 5 cents, 1 dollar, 5 dollars, 10 dollars....). What if we apply the same way of thinking to Bitcoin, and implement the following feature in the client: create multiple addresses(like hundreds) in a batch, and charge each with a fixed amount of bitcoins(5 BTCs, 2 BTCs, 1BTC, 500mBTCs, 200mBTCs, etc), the amount charged must be a number from a set of "denominations", and the number of addresses should be enough for multiple purchases in a relatively long period of time as each will be only used once during this period. Now whenever the user wants to make a purchase, his bitcoin client will pick a number of addresses with the right combined balance and completely spend them to send transactions to the merchant(no more than 12 are needed to be used for anything cheaper than 10BTCs ATM I guess), then the merchant can simply perform a check of all addresses used by the customer, and refuse to deliver the goods if any of these addresses containing unconfirmed/less than X confirmations transactions, so that the merchant can effectively prevent a race attack, without giving the customer too much inconvenience, what do you think?
|
|
|
|
opentoe
Legendary
Offline
Activity: 1274
Merit: 1000
Personal text my ass....
|
|
April 20, 2013, 10:08:07 AM |
|
I run Windows 8. Every time I try to run Armory, I get this: Traceback (most recent call last): File "ArmoryQt.py", line 4804, in <module> File "ArmoryQt.py", line 466, in __init__ File "ArmoryQt.py", line 3867, in setDashboardDetails File "armoryengine.pyc", line 10777, in getSDMState File "armoryengine.pyc", line 10809, in getSDMStateLogic File "armoryengine.pyc", line 10942, in getTopBlockInfo File "armoryengine.pyc", line 10934, in updateTopBlockInfo File "armoryengine.pyc", line 10867, in createProxy TypeError: %d format: a number is required, not str
Argh! Just found that there is a real bug here, not user error. The issue is that i'm not casting the "rpcport" in the bitcoin.conf file to an integer, so it's failing to produce the correct URL when you have any rpcport argument in the bitcoin.conf file. And for Windows users, there's not a convenient way around this bug. I can't believe no testers ran into this! Man, I need more testers... The only solution I know for working around this with 0.88-beta is to remove rpcport from your bitcoin.conf file, and run bitcoin-qt/bitcoind with the -rpcport command-line argument. Then run Armory with the -satoshi-port argument that matches. I hate releasing a bugfix version right after a regular release and triggering notifications again (effectively spamming users). I guess, I could accumulate these bugs into a v0.88.1-beta version, and silently update it, without triggering notifications. But still change all the links to point to the new version. I guess that works... So my Armory install is broke? I was the OP of the error that was coming up. I'm not really sure what I'm suppose to do. I didn't do any upgrades or make any changes. And I still have bitcoin in my Armory wallet. I don't know what you mean when you say run it with this argument or whatever. Can you be a bit more detailed? Thanks
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
April 20, 2013, 04:26:18 PM |
|
So my Armory install is broke? I was the OP of the error that was coming up. I'm not really sure what I'm suppose to do. I didn't do any upgrades or make any changes. And I still have bitcoin in my Armory wallet. I don't know what you mean when you say run it with this argument or whatever. Can you be a bit more detailed?
Just uninstall your current Armory and install the new version, 0.88.1. That error you originally reported has been fixed. https://bitcoinarmory.com/get-armory/
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
April 21, 2013, 09:57:36 AM |
|
etotheipi, what version of Armory do you recommend getting from the git repository for installation on an offline Raspberry Pi wallet?
I see only tags with either a -beta or -alpha suffix. Should I just get the version tagged v0.88-beta, or is there a stable version somewhere that would be more suitable?
Thinking about it, I guess it's possible to upgrade in the future, although I'd like to avoid that, so no new program code is introduced to the system after the offline wallet has been created on the device. But as long as it's signed by your offline signing key (which I presume you keep on an offline device so it's really hard to steal), I guess it's pretty safe to just git clone on an online computer, bring the source code over to the offline wallet and verify its signature there (assuming this can be done without an Internet connection), and then just build it on the offline device.
|
|
|
|
demzie
|
|
April 21, 2013, 10:27:15 AM |
|
Hi,
Just followed the exact instructions on the website to make an offline wallet wit ubuntu. Used the offline module (.sh) installer. But it gives me 2 broken packages/dependencies. Armory wont start.
Fresh install and second thing i did was running the installer, nothing more/nothing less..
Ubuntu 10.04-32bit was used.
Hope you can help me out.
|
|
|
|
|