Author

Topic: Armory Setup (Read 112 times)

legendary
Activity: 3738
Merit: 1360
Armory Developer
December 06, 2021, 02:22:55 AM
#4
Quote
    Do I need to start up Bitcoin Core before I start Armory?
    Do I need to start up Bitcoin Core periodically to sync the node?
    Is there a setting to hide the command window upon Armory Start?
    Can I move the Armory DB out of the "C:\Users\Val\AppData\Roaming\Armory" folder so i can keep my C: drive lean?

1. Preferable
2. Preferable
3. Fuck up on my part, unlikely you can do something on your end without messing with the python code
4. Yes you can, will increase the complexity of your setup.
newbie
Activity: 11
Merit: 0
December 06, 2021, 01:41:15 AM
#3
Thank you. I will take your advice and run Bitcoin Core separately.
HCP
legendary
Activity: 2086
Merit: 4361
December 06, 2021, 01:06:43 AM
#2
Well... firstly, thanks for posting all the updates, so we could see what you got up to.

It seems you have managed to get everything up and running, so a good result... but to answer this specific question from earlier:
On one post I was reading "Then restart Bitcoin Core. Then restart Armory." (posted by HCP). Now I'm confused... do I have to run Bitcoin Core every time before I start Armory? Isn't Armory supposed to run Bitcoin Core?
No, you don't necessarily need to run Bitcoin Core every time before you start Armory, it is possible to configure Armory to launch Bitcoin Core in the background... I have just found that letting Armory run Bitcoin Core in the background (it launches bitcoind) has the potential to cause issues because you can't "see" what Bitcoin Core is actually doing and whether it is actually running properly unless you're familiar with bitcoind/bitcoin-cli and the various commands required to see what it is doing.


Personally, I have Bitcoin Core (the actual GUI application, not bitcoind) running pretty much 24/7 anyway... when I want to use Armory, I just start it up and it uses the already running Bitcoin Core instance without problem. In the several years I have been using Armory, I have just always found it to be much more reliable to run Bitcoin Core manually, let it fully sync up, then launch Armory.
newbie
Activity: 11
Merit: 0
December 03, 2021, 06:58:14 PM
#1
Hi,

I'm running into more and more questions as I am setting up Armory...

I had Bitcoin Core set up and synced long time ago. I stopped it couple month ago and was not bringing it up for the last two months.

I installed the offline version of Armory, created couple wallets, and watch-only wallets.

Installed Armory on my online workstation. It picked up the Bitcoin Core node, created the DB, and would never update the node further. At that point I started up Bitcoin Core and let it sync. Once it was up to date, I started Armory, it did some activity with the DB and added just 1 to the block count at the lower right corner of the Armory window (was 707914 before, showing 707915). Went ahead and selected to rebuild the DB, restarted, rebuilt, different number, but shows node to be offline.

Imported two watch-only wallets. The command window keeps scanning "height #xxxxxx to #xxxxxx" non-stop.

Looked all over the forums (as far as I could). Found about adding "server=1" to bitcoin.conf file. Turned off Armory, it said it's shutting down the core (but it was saying it was not running!), Armory exited, but ArmoryDB.exe is still scanning stuff in the command prompt... oh, it just quit on it's own, good thing I didn't turn it off.

Does the command window have to open every time you start Armory? Can't it be running silently? Is there such a setting?

On one post I was reading "Then restart Bitcoin Core. Then restart Armory." (posted by HCP). Now I'm confused... do I have to run Bitcoin Core every time before I start Armory? Isn't Armory supposed to run Bitcoin Core?

Restarted Armory with the entry in the config file. I guess the scanning messages in the command prompt are looking through transactions.

To concise everything, my questions are:
  • Do I need to start up Bitcoin Core before I start Armory?
  • Do I need to start up Bitcoin Core periodically to sync the node?
  • Is there a setting to hide the command window upon Armory Start?
  • Can I move the Armory DB out of the "C:\Users\Val\AppData\Roaming\Armory" folder so i can keep my C: drive lean?

It looks that I would have to rum Armory 24/7, or else I will have to wait for hours or even days for it to catch up on all the scanning processes. I just loaded two empty watch-only wallets, and it's saying "1 second for the last 10-15- or more minutes" - or is it just scanning this for the first time and then it will be cached up?

Thanks for reading my writings and helping me getting my feet wet with Armory!




It finally finished scanning the "heights."

Armory reports that it is online, but in the lower-right corner of the window it says "Node Offline (712443 blocks), and when I point at it, says "Disconnected from Bitcoin Node, cannot update history."




Based from the debug.log in the Bitcoin Core data folder, Bitcoin core is running, it keeps updating the log file.

The last two errors in the dbLog.txt (and the command prompt) are as follows:

Code:
-ERROR - 1638578363: (..\SocketObject.cpp:285) POLLERR error in readFromSocketThread
-ERROR - 1638578363: (..\BitcoinP2P.cpp:1027) caught SocketError exception in processDataStackThread: POLLERR error in readFromSocketThread

Armory still reports "Node Offline"



Restarted everything, including the workstation. Started up Armory, and the old story all over again:

Code:
-INFO  - 1638583839: (..\BDM_supportClasses.cpp:366) Starting address registration process
-INFO  - 1638583846: (..\BlockchainScanner.cpp:650) scanned from height #0 to #142418
-INFO  - 1638583851: (..\BlockchainScanner.cpp:650) scanned from height #142419 to #163696
-INFO  - 1638583854: (..\BlockchainScanner.cpp:650) scanned from height #163697 to #180042
-INFO  - 1638583858: (..\BlockchainScanner.cpp:650) scanned from height #180043 to #184308

It looks that Armory has to be started up hours before you want to use it, because of the address registration process. Please confirm whether I am right or wrong.

Thank you.



The ArmoryDB.exe command window just quits, the last entries in the log file are as follows:

Code:
-INFO  - 1638587406: (..\BlockchainScanner.cpp:650) scanned from height #711642 to #712022
-INFO  - 1638587409: (..\BlockchainScanner.cpp:650) scanned from height #712023 to #712208
-ERROR - 1638587411: (..\BlockchainScanner.cpp:271) raw data does not match expected block hash

Then I tried to run ArmoryDB.exe, that terminated the Armory GUI...

Opening dbLog.txt reveals that all previous logs are gone with some garbage at the top of the file (can't copy since it complains about null characters). Was that truncated because I exported logs?

And the new log starts with the same old-old story:

Code:
Log file opened at 1638587799: C:\Users\Val\AppData\Roaming\Armory\dbLog.txt
-INFO  - 1638587799: (..\main.cpp:23) Running on 12 threads
-INFO  - 1638587799: (..\main.cpp:24) Ram usage level: 4
-INFO  - 1638587799: (..\BlockUtils.cpp:907) blkfile dir: G:\Bitcoin\blocks
-INFO  - 1638587799: (..\BlockUtils.cpp:908) lmdb dir: C:\Users\Val\AppData\Roaming\Armory\databases
-INFO  - 1638587799: (..\lmdb_wrapper.cpp:388) Opening databases...
-INFO  - 1638587801: (..\BlockUtils.cpp:1091) Executing: doInitialSyncOnLoad
-INFO  - 1638587801: (..\DatabaseBuilder.cpp:169) Reading headers from db
-INFO  - 1638587802: (..\BDM_Server.cpp:996) registered bdv: d0cd299a29e6d595bb82
-INFO  - 1638587812: (..\DatabaseBuilder.cpp:208) Found 712479 headers in db
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:51) updating HEADERS db
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:477) Found next block after skipping 123530bytes
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:268) parsed block file #2830
-DEBUG - 1638587816: (..\Blockchain.cpp:242) Organizing chain
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:56) updated HEADERS db in 0.771s
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:106) scanning new blocks from #712478 to #712477
-INFO  - 1638587816: (..\BlockchainScanner.cpp:52) no history to scan
-INFO  - 1638587816: (..\BlockchainScanner.cpp:813) no SSH to scan
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:156) scanned new blocks in 0.013s
-INFO  - 1638587816: (..\DatabaseBuilder.cpp:160) init db in 15.522s
-INFO  - 1638587816: (..\BlockUtils.cpp:1206) Enabling zero-conf tracking
-INFO  - 1638587817: (..\BDM_supportClasses.cpp:366) Starting address registration process
-INFO  - 1638587823: (..\BlockchainScanner.cpp:650) scanned from height #0 to #142418
-INFO  - 1638587828: (..\BlockchainScanner.cpp:650) scanned from height #142419 to #163696
-INFO  - 1638587832: (..\BlockchainScanner.cpp:650) scanned from height #163697 to #180042
-INFO  - 1638587835: (..\BlockchainScanner.cpp:650) scanned from height #180043 to #184308
-INFO  - 1638587840: (..\BlockchainScanner.cpp:650) scanned from height #184309 to #189021

Am I going to get to the point where I can actually test sending/receiving BTC? It seems like a never-ending story.




The "Rebuild and Rescan Databases" for the second time helped and everything looks to be up and running and connected and online.

I selected the "Rebuild and Rescan Databases" option and turned off the Armory.

Started up Bitcoin Core and let it fully sync (catch up with all of today's transactions).

Shut down Bitcoin Core.

Started up Armory and let it do rebuilding and rescanning.

At the end it worked!

It could be that because I imported my wallets right after the block parsing, something went wrong. But not sure about that though.




[moderator's note: consecutive posts merged]
Jump to: