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:
{"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.
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.