Post
Topic
Board Armory
Re: Armory - Discussion Thread
by
etotheipi
on 12/08/2013, 16:18:20 UTC
so could I actually load the chain and scan for up to date transaction using this script without actually loading the GUI to scan the chain?

basically add a step to the beginning process of script to load/scan the chain (assuming that bitcoin-qt is currently loaded and up to date), then continue on with my previous logic?

Also, were you meaning that:

Code:
BDM_LoadBlockchainFile()
walletObj.setBlockchainSyncFlag(BLOCKCHAIN_READONLY)
walletObj.syncWithBlockchain()

is replaced with:

Code:
TheBDM.setBlocking(True)
TheBDM.setOnlineMode(True)
TheBDM.scanBlockchainForTx(wlt.cppWallet)

to put armory into online mode and scan the chain?

That's correct.  Everything the GUI does could be done from python scripts.  In fact, you could think of the GUI as one big python script that simply uses the utilities provided by armoryengine.py (and the massive set of underlying C++ utilities).  I've tried to keep the bulk of the functionality in armoryengine.py so that you don't have to import any Qt libraries in order to script it headlessly like this.  There's still lots of example code in ArmoryQt.py and qtdialogs.py that could be useful, but everything that Armory GUI can do, can be done through scripts without any GUI interaction.  If you run the cli_sign_txdp.py script, you'll see that it does the same thing as GUI, but through a text/terminal interface. 

To continue discussion on this, it might be worth starting a new thread, to help aggregate this kind of information into a single place for others wishing to do scripting.