Author

Topic: Armory - Discussion Thread - page 125. (Read 521829 times)

hero member
Activity: 784
Merit: 1000
April 28, 2013, 11:07:02 AM
Would there be any risk If I make a backup of my encrypted Armory wallet on Dropbox?  The worst they can do is deleting my backup right? Thanks.
hero member
Activity: 496
Merit: 500
April 28, 2013, 10:10:10 AM
Any chance of being able to insert watch only btc addresses to manually create a watching wallet without the keys?
It would be nice for tracking a variety of accounts outside of those created in armory.
Thanks again for the great software, I've donated to you before.

etotheipi has been resistant to this feature because you wouldn't be able to tell if you inserted the public keys into your wallet or a potential attacker, leading you to think you had receive money but not actually having done so.
sr. member
Activity: 472
Merit: 250
Never spend your money before you have it.
April 27, 2013, 10:58:00 PM
Any chance of being able to insert watch only btc addresses to manually create a watching wallet without the keys?
It would be nice for tracking a variety of accounts outside of those created in armory.
Thanks again for the great software, I've donated to you before.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 25, 2013, 01:49:20 PM
Update for anyone with strange connection problems.

I just spent 2 hours debugging Armory on my fiancee's computer (which has no dev environment).  Because her system installed Armory and then was stuck perpetually at "Initializing Bitcoin Engine".  After a painful battle with Windows I finally extracted this strange error:

Code:
{"result":null,"error":{"code":-1,"message":"CWallet::GenerateNewKey() : AddKey failed"},"id":1}
{u'id': 1, u'result': None, u'error': {u'message': u'CWallet::GenerateNewKey() : AddKey failed', u'code': -1}}

It turns out that Armory couldn't communicate with Bitcoin-Qt, because Bitcoin-Qt was reading an old, corrupted wallet.  I never asked it for a new key, but it spits out that error anyway.  The solution was to remove the C:\Users\username\AppData\Roaming\Bitcoin\wallet.dat!  Of course, don't completely delete it if you have money in Bitcoin-Qt.  But even if you don't plan to use Bitcoin-Qt again, apparently a bad wallet can really cause Armory to misbehave!

So frustrating that a Bitcoin-Qt error can make Armory look so bad!



@smith1023

Woah it has been a fast answer!
I was expecting a different answer. I meant what kind of info does it require from the blockchain.
Looking through the code (lines 600-630 armoryd.py) I understand that it is required for an unsigned transaction to include not only the origin wallet, the receiver wallet, and the amount, but all the transactions of that wallet.
Code:
      utxoList = self.wallet.getTxOutList('Spendable')
      utxoSelect = PySelectCoins(utxoList, totalSend, fee)
      txdp = PyTxDistProposal().createFromTxOutSelection(utxoSelect, outputPairs)
So if I were to send a transaction for which I have balance, but I used an old version of the blockchain for the input of "utxoList" it would get refused by the network?

Kind of.  When you create a transaction, Armory has to collect unspent-TxOuts from previous transactions, to put TxIn references into the transaction to be signed.  It has to collect enough of them to cover all the outputs.   However, the TxIn only includes the hash and index of the unspent output.  Armory has no way to know how big each of those outputs are, so it has got to send the entirety of those transactions along with it, so the offline computer can verify "Okay, tx a3f3b198 txOut #2 really does have 1.53 BTC".  You can read more about why you have to do that at this thread I started recently (where I also proposed a solution).

So the "supporting transactions" are necessary for verification, but not the answer to your question.  The answer is that two things can go wrong (in a safe way), if you don't have the updated blockchain:

(1) Armory will try to spend unspent TxOuts (UTXOs) that have already been spent.  Your blockchain is up to block 200,000.   You have a UTXO created at 150,000 and spent on 210,000.  You would create a transaction assuming it's unspent, and then the network will reject it because you're attempting to spend alread-spent coins.
(2) You are just missing UTXOs.  If someone sent you bitcoins and the tx was included in block 215,000, your offline system will never see it to be able to know it exists, much less be able to spend it.  This is why your online computer needs to be in the loop:  it maintains a completely-up-to-date list of your UTXOs, and does the coin selection for you, even thought it can't sign it.  It picks valid UTXOs, bundles them into a tx, and the only thing it's missing is the authorized signatures.  That's what your offline computer is.
newbie
Activity: 32
Merit: 0
April 25, 2013, 11:54:02 AM
Woah it has been a fast answer!
I was expecting a different answer. I meant what kind of info does it require from the blockchain.
Looking through the code (lines 600-630 armoryd.py) I understand that it is required for an unsigned transaction to include not only the origin wallet, the receiver wallet, and the amount, but all the transactions of that wallet.
Code:
      utxoList = self.wallet.getTxOutList('Spendable')
      utxoSelect = PySelectCoins(utxoList, totalSend, fee)
      txdp = PyTxDistProposal().createFromTxOutSelection(utxoSelect, outputPairs)
So if I were to send a transaction for which I have balance, but I used an old version of the blockchain for the input of "utxoList" it would get refused by the network?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 25, 2013, 11:13:28 AM
Hello,
(Not sure if the right place to discuss this.)
Why can't a transaction be created and signed in offline mode?
I understand that for it to reach the network must be sent to the network in online mode, but I see no reason why you could create a unsigned transaction in offline mode.
Thanks for answering, and for the software too.

You have to have access to the blockchain in order to create transactions.  This is why prior attempts at offline wallets (before Armory) have usually involved synchronizing the 6 GB blockchain with the offline computer.  Every transaction you do, would require taking the latest X-hundred MB of blockchain to the offline computer and letting it index it before it could make the transactions. 

However, Armory has implemented this "the simpler" way, which is that the online system can transfer just the critical information needed for signing, to the offline computer.  The offline computer gets just enough information to know that what it's signing is legitimate, but it couldn't have made that transaction itself.

The end result is that the way it is designed is simpler all around, even though it has the slightly non-intuitive "feature" that you can't see your balance or create transactions offline.  You can think of the offline computer as a very important person sitting in a vault.  He doesn't know how much money is in the account, but he has signing authority for your money. When you execute the process, you are going into the vault with a pre-filled check and saying "Hey dude, can I get your signature on this?"  He says "You do realize this check is sending 100 BTC to address X, right?"  "Yeah, I approve".  Then he signs it and gives it back to you.  You leave the vault and go to the bank to deliver the check.
newbie
Activity: 32
Merit: 0
April 25, 2013, 11:06:37 AM
Hello,
(Not sure if the right place to discuss this.)
Why can't a transaction be created and signed in offline mode?
I understand that for it to reach the network must be sent to the network in online mode, but I see no reason why you couldn't create a unsigned transaction in offline mode.
Thanks for answering, and for the software too.
legendary
Activity: 1081
Merit: 1001
April 24, 2013, 04:04:34 PM
I'm still at 0.88 and I think it's been working fine (Windows 7 x64).  I noticed some folks on here have some issues with 0.88.1.  Should I hold on the update til the next release then?

Thanks for the link.

0.88.1 should be no worse than 0.88.  It is literally just a couple lines of code different to address some stupid bugs that slipped by me.  One of those bugs is importing private keys into encrypted wallets.  If you don't need to do that, then you can stay on 0.88.

I definitely have encrypted wallets but I'm not doing any importing of private keys into them.  Thanks again for the assistance.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 24, 2013, 03:48:32 PM
I'm still at 0.88 and I think it's been working fine (Windows 7 x64).  I noticed some folks on here have some issues with 0.88.1.  Should I hold on the update til the next release then?

Thanks for the link.

0.88.1 should be no worse than 0.88.  It is literally just a couple lines of code different to address some stupid bugs that slipped by me.  One of those bugs is importing private keys into encrypted wallets.  If you don't need to do that, then you can stay on 0.88.
legendary
Activity: 1081
Merit: 1001
April 24, 2013, 03:38:32 PM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?


I haven't updated mine in a while. I don't think it's really necessary unless there are bugs fixed or features added, but most often the changes seem to be in the online GUI.

Offline Armory rarely needs to be updated, unless there's some interface improvements that you prefer (which 0.88 did have).  But it's rarely worth the trouble.  Even though version 0.61 is freakin' ancient, it would still work as the offline version, because the protocol for exchanging transactions to sign hasn't changed. 

Only when I finish making the new wallets will you have to upgrade, and only if you use the new wallets.  Though, at some point I might deprecate BIP 10, thus eventually requiring you update the offline computer to be able to read the new *.unsigned.tx files.


Will it then be specified that the offline installation must be updated with a particular release/version?  I'm not aware of the "new wallets"; I just started using Armory recently.  What are the key features/improvements of the new wallets compared to the old ones?

BTW, thank you etotheipi and chrisrico for your respective reply.

Yeah, I usually put it in the release notes, whether you should upgrade the offline computer.  And by "usually", I mean "I will" because I don't think I've had to do it yet.  Ever.

There's a few scattered posts talking up the new wallets.  Here's one of them.  But they are on hold while I deal with some of the usability issues.   I decided that usability was more important while Bitcoin was booming, than the new wallet format.  Unfortunately, usability may have actually declined with the last release... I hope I can iron that all out Undecided
I'm still at 0.88 and I think it's been working fine (Windows 7 x64).  I noticed some folks on here have some issues with 0.88.1.  Should I hold on the update til the next release then?

Thanks for the link.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 24, 2013, 02:20:31 PM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?


I haven't updated mine in a while. I don't think it's really necessary unless there are bugs fixed or features added, but most often the changes seem to be in the online GUI.

Offline Armory rarely needs to be updated, unless there's some interface improvements that you prefer (which 0.88 did have).  But it's rarely worth the trouble.  Even though version 0.61 is freakin' ancient, it would still work as the offline version, because the protocol for exchanging transactions to sign hasn't changed. 

Only when I finish making the new wallets will you have to upgrade, and only if you use the new wallets.  Though, at some point I might deprecate BIP 10, thus eventually requiring you update the offline computer to be able to read the new *.unsigned.tx files.


Will it then be specified that the offline installation must be updated with a particular release/version?  I'm not aware of the "new wallets"; I just started using Armory recently.  What are the key features/improvements of the new wallets compared to the old ones?

BTW, thank you etotheipi and chrisrico for your respective reply.

Yeah, I usually put it in the release notes, whether you should upgrade the offline computer.  And by "usually", I mean "I will" because I don't think I've had to do it yet.  Ever.

There's a few scattered posts talking up the new wallets.  Here's one of them.  But they are on hold while I deal with some of the usability issues.   I decided that usability was more important while Bitcoin was booming, than the new wallet format.  Unfortunately, usability may have actually declined with the last release... I hope I can iron that all out Undecided
legendary
Activity: 1081
Merit: 1001
April 24, 2013, 02:15:47 PM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?


I haven't updated mine in a while. I don't think it's really necessary unless there are bugs fixed or features added, but most often the changes seem to be in the online GUI.

Offline Armory rarely needs to be updated, unless there's some interface improvements that you prefer (which 0.88 did have).  But it's rarely worth the trouble.  Even though version 0.61 is freakin' ancient, it would still work as the offline version, because the protocol for exchanging transactions to sign hasn't changed. 

Only when I finish making the new wallets will you have to upgrade, and only if you use the new wallets.  Though, at some point I might deprecate BIP 10, thus eventually requiring you update the offline computer to be able to read the new *.unsigned.tx files.


Will it then be specified that the offline installation must be updated with a particular release/version?  I'm not aware of the "new wallets"; I just started using Armory recently.  What are the key features/improvements of the new wallets compared to the old ones?

BTW, thank you etotheipi and chrisrico for your respective reply.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 24, 2013, 08:39:47 AM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?


I haven't updated mine in a while. I don't think it's really necessary unless there are bugs fixed or features added, but most often the changes seem to be in the online GUI.

Offline Armory rarely needs to be updated, unless there's some interface improvements that you prefer (which 0.88 did have).  But it's rarely worth the trouble.  Even though version 0.61 is freakin' ancient, it would still work as the offline version, because the protocol for exchanging transactions to sign hasn't changed. 

Only when I finish making the new wallets will you have to upgrade, and only if you use the new wallets.  Though, at some point I might deprecate BIP 10, thus eventually requiring you update the offline computer to be able to read the new *.unsigned.tx files.

hero member
Activity: 496
Merit: 500
April 24, 2013, 08:36:47 AM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?


I haven't updated mine in a while. I don't think it's really necessary unless there are bugs fixed or features added, but most often the changes seem to be in the online functionality.
legendary
Activity: 1081
Merit: 1001
April 24, 2013, 03:22:24 AM
Is it also necessary or a good idea to keep the offline Armory up to date when new releases/versions are available?
legendary
Activity: 1260
Merit: 1000
April 23, 2013, 03:54:07 PM
Sent
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 23, 2013, 03:49:36 PM
I can't seem to get the new version of Armory to work.  I just downloaded .88-1 and it sits at Synchronizing with Network 99% 0 blocks forever.  Occasionally bitcoind will crash.

Armory was working fine prior to upgrading.  

Log file?

Can I send it to you privately?  If so, where?

Send it to my screename, at gmail dot com.
legendary
Activity: 1260
Merit: 1000
April 23, 2013, 03:40:26 PM
I can't seem to get the new version of Armory to work.  I just downloaded .88-1 and it sits at Synchronizing with Network 99% 0 blocks forever.  Occasionally bitcoind will crash.

Armory was working fine prior to upgrading. 

Log file?

Can I send it to you privately?  If so, where?
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
April 23, 2013, 03:29:09 PM
Yea, it is confusing since I sent from my bitcoin-qt wallet and it worked fine without wanting a fee. I figure those coins I sent would be pretty old but apparently they weren't. I guess I'll wait a bit more to see if it works, and if it doesn't, eat the 7 cents, heh.

Those coins become "new" the moment you use them.  So they left your Bitcoin-Qt wallet as old, no-fee-required coins, but they entered your Armory wallet as young coins.  If you sent 0.1 BTC, you're going to have wait 10 days for those coins to mature (1 BTC matures in 1 day).  The fees were supposed to be insignificant in the short-term, only to discourge people spamming the network.  But the price rise has made not entirely negligible anymore.  But $0.07 still isn't so bad compared to the alternatives.

There's been a lot of discussion about how to improve the fee logic to be adaptable to... life Smiley
full member
Activity: 200
Merit: 100
|Quantum|World's First Cloud Management Platform
April 23, 2013, 03:25:27 PM
Yea, it is confusing since I sent from my bitcoin-qt wallet and it worked fine without wanting a fee. I figure those coins I sent would be pretty old but apparently they weren't. I guess I'll wait a bit more to see if it works, and if it doesn't, eat the 7 cents, heh.
Jump to: