Pages:
Author

Topic: Armory on windows just does not sync (Read 708 times)

legendary
Activity: 1120
Merit: 1012
February 27, 2018, 12:56:30 PM
#50
I do not agree with the opinion, that one has to have a top notch hardware just to run a crypto wallet.

I've never suggested as much. A used 4c/8t CPU running around 4GHz with a SATA SSD, is not "top notch" hardware (it can be had for around $200). My desktop syncs Armory from scratch in under 3 minutes and that's not even top notch hardware! 32c/64t processors and 4x M.2 NVMe PCIe 3.0 x16 raid cards are a thing.

You can think of this PC what you want, but there is no crap involved in DELLs precision workstation line, there never was.

I never commented on the quality of Dell's workmanship, rather the low IPC, core count, and clock rate of your processor (which was on the low end of Intel's product line at the time), along with the fact that HDDs are huge bottlenecks when it comes to software involving block chain data.

I do appreciate the efforts put into this software. I really do because I am a developer myself.

Well, I'm a lumberjack and I can get Armory to run, every single time with ease.

But as all in life, great projects can also get better if a healthy criticism is allowed.

Healthy criticism is great, but that won't stop me from pointing out that your hardware is older than Moses and will struggle when it comes to dealing with large amount of data. There are requirements here, the block chain itself, which no amount of coding skill is going surmount. At some point, you either suffer or run the software on better hardware. Or, you can do what most people do and sacrifice security and use a lite wallet. That's fine, we all make trade-offs every day to suit our needs.

Bitcoin Core runnin gas full node on the same PC does not seem to have a problem with the limited hardware and is ready to go in 30 seconds working on the same blockchain data up to the recent block

You are referring to Core start up. What does that have to do with anything? Do you know what Core does during start up? It isn't "load the local blockchain below 30 seconds" as you've mentioned up thread. Suggesting that Core's startup process is the benchmark for whether or not your computer can parse the block chain with ease is silly.

But unfortunately all I can do is to express my experience after I tried to test the software and donate some BTC if I get an adress from goatpig.

And all I can do is explain, apparently to deaf ears, that aging hardware is going to make the process far more painful than it needs to be. It can certainly work, but it is obvious from this thread and many threads in the past, it's going to take some additional effort on the part of the user. I'm simply pointing out that one may want to add some grease to the gears here...

Quite in contrary - I need a clean, dedicated PC to run the wallet, so I can not use my day to day hardware for this to be fully on the safe side.

Armory's security model is that your private keys are created and forever remain on an air-gapped PC (which does not have to deal with the block chain itself) while the block chain is maintained locally on the internet connected PC. Anything less (private keys online / remote block chain data) is a trade off and ultimately far, far less security.
newbie
Activity: 33
Merit: 0
February 27, 2018, 05:21:11 AM
#49
This should not become a philosophical discussions here.
I am quite experienced in any mainstream OS out there, started win MSDOS back in the late 80s and all windows versions all the way.
I managed linux servers of all flavours and was working on linux desktops as well as Mac OS on day to day basis.
I experimented with virtualization tech on all these platforms a lot.
And yes - I have as well built some custom PCs as well along the way - this is self evident looking at above.

Therefore I can surely say I am not an "avarage user" and I can asses whether a hardware is fully crap or not.
And I have a feeling of what a PC is capable of in terms of computation and I can surely decide what tradeof I can accept.
As I wrote at some point - I can wait, I have the time.

I do not agree with the opinion, that one has to have a top notch hardware just to run a crypto wallet.
Quite in contrary - I need a clean, dedicated PC to run the wallet, so I can not use my day to day hardware for this to be fully on the safe side. That is why I took an older but good PC I had spare.
You can think of this PC what you want, but there is no crap involved in DELLs precision workstation line, there never was.

I do appreciate the efforts put into this software. I really do because I am a developer myself.
But as all in life, great projects can also get better if a healthy criticism is allowed.

My critic point is this: A wallet software should be reliable and verbose about what it does at any stage because there is money involved.
Armory clearly does something without keeping the user informed. Then it reports a "redy to go" when it isn't so follow up issues arise.
Bitcoin Core runnin gas full node on the same PC does not seem to have a problem with the limited hardware and is ready to go in 30 seconds working on the same blockchain data up to the recent block, whereas armory get stuck at block 300-something and reports all ready to go after several days of "doing something".

Do not get me wrong, I really appreciate any effort of any opensource dev out there, especially ones like goatpig who manages a complex software like armory. My great respect for work like this.
If I was a python expert I would be ready to actively contribute to fix the problems I see.

But unfortunately all I can do is to express my experience after I tried to test the software and donate some BTC if I get an adress from goatpig.

So, the community can either appreciate my voice on this or keep the blinkers on and do not bother.
legendary
Activity: 1120
Merit: 1012
February 26, 2018, 02:41:52 PM
#48
average hardware.

Your hardware was average over a decade ago. Today you can buy 6c/12t CPUs that boost to 3.6GHz for less than $200. That's average! They make your CPU look like something from the dark ages. Today's high end CPUs have 12c/24t or more!

The block chain is a large amount of data, you can't just hand wave that away. You are going to need semi-decent hardware if you want to parse that data without difficulty. That is simply a fact.

Armory is wallet software which doesn't rely on outside sources for the block chain. In order to take advantage of that kind of security, there are certain trade-offs that need to be made. One of them is having a relatively decent computer.

Armory is also not for the "average user". It's for the advanced user who is comfortable with these programs and willing to run them on appropriate hardware, and willing to do some troubleshooting to get things to work. When operations takes ten times longer to complete due to ancient hardware, it's going to make troubleshooting settings that much more painful.

Basically, if you want a smooth experience with Bitcoin Core/Armory, you will want at the very least a 4c/8t CPU that boosts somewhere in the 4Ghz range and at least a SATA SSD (along with 4-8GB of RAM). SSD really can't be understated here. Many computers now use a m.2 drive which makes SATA SSD look silly. I haven't touched a HDD in 10 years. These systems aren't expensive. You can have a used system that will breeze through this for a couple hundred bucks.

I am no developer. I'm basically software illiterate. Linux is like a foreign language to me. I know hardware because I've custom built my PCs for years. I have no issues what-so-ever running Armory. In seven years I've never had it fail on me. As long as you have some semi-decent hardware, and you aren't using some crazy configuration, Bitcoin Core and Armory will simply work.
newbie
Activity: 33
Merit: 0
February 26, 2018, 03:52:07 AM
#47
OK. I see I will not come any further here.

I will thank you for your support sofar, especially goatpig for keeping this software going and for the help.

But at the end I must honestly say, that armory seems to be only usable by its devs with deep knowledge about the internals and requires.
I am a dev myself but not really into python and not interested in learning python just to access my funds.
I know armory is powerfull, but there is no way a software gets any adoption if it is not robust enough to handle the basics for an avarage user or to run on average hardware.

Stil, all the best to you.

newbie
Activity: 33
Merit: 0
February 21, 2018, 05:58:55 AM
#46
Finally. Armory was ready to build the database, organize blockchain and scan transaction history.
I was able to see my balance but "node ofline".
Now I started bitcoin core in paralell.
Armory went online and it shows green "connected" in the status bar. I could not be more happy.

So now I tried to get to stage 2. Sending my BTC out of this wallet.

Beeing in "advanced user" GUI I tried to "send bitcoins".
I entered the SegWit address of my trezor as recipient.
I left all settings to be default and adjusted the fee to be generous 15 sat/B (conservative auto gave 6.5 sat/B and trezor currently defaults to 8 sat/B for a "high" fee transaction).

Then I sent the whole amount unlocking the wallet.

5 seconds of nothing happening, then an error popup "The transaction that you just attempted to broadcast has failed with the following error: missing inputs"!

Is it safe to paste the armorylog.txt output on this?


legendary
Activity: 3794
Merit: 1375
Armory Developer
February 15, 2018, 09:31:57 AM
#45
Quote
What do the two errors about mempool.bin mean.

Nothing. They are leftovers verbose pertaining to the database design back from 2011.

Quote
What exactly is happening now (CPU usage 50%)?

The DB is trying to resolve the longest chain.

Quote
Is it worth to wait now or are those errors fatal?

You should wait.
newbie
Activity: 33
Merit: 0
February 15, 2018, 07:54:18 AM
#44
Thx for the reply.

I do not mind to wait little longer for things to happen. I mean I let the processes run overnight for several days in the past.
No matter how processing intensive an operation might be, it must finish at some point right?

Bitcoin Core is able to start up and load the local 170GB blockchain below 30sec on this machine so the machine might be slow for todays measures but it certainly should be capable to get the work done in general.

Additionally, the local blockchain is not on a USB2 drive anymore but an a new intermnal SATA drive.

Anyway, just to startower. I deinstalled armory, deleted the database directory. Made a reboot, installed armory RC3 from github again, provided the custom path to the local blockchain using the CLI parameter "--satoshi-datadir" with the desktop shortcut.
Then I synced the blockchain with bitcoin Core, made a reboot again and started armory again.

Now I see "organizing blockchain" again for several hours. checking the log file I see this

Code:
2018-02-15 09:48:10 (WARNING) -- SDM.pyc:398 - Spawning DB with command: C:\Program Files (x86)\Armory\ArmoryDB.exe --db-type="DB_BARE" --cookie --satoshi-datadir="F:\_bitcoin_new\blocks" --datadir="C:\Users\artur\AppData\Roaming\Armory\" --dbdir="C:\Users\artur\AppData\Roaming\Armory\databases"
2018-02-15 09:48:10 (INFO) -- ArmoryUtils.pyc:679 - Executing popen: ['C:\\Program Files (x86)\\Armory\\ArmoryDB.exe', u'--db-type="DB_BARE"', '--cookie', u'--satoshi-datadir="F:\\_bitcoin_new\\blocks"', '--datadir="C:\\Users\\artur\\AppData\\Roaming\\Armory\\"', u'--dbdir="C:\\Users\\artur\\AppData\\Roaming\\Armory\\databases"']
2018-02-15 09:48:13 (INFO) -- ArmoryQt.py:1824 - Connecting on port 62445
2018-02-15 09:48:13 (INFO) -- ArmoryQt.py:1924 - Setting netmode: 1
2018-02-15 09:48:13 (INFO) -- ArmoryQt.py:1906 - loadBlockchainIfNecessary
2018-02-15 09:48:13 (ERROR) -- ArmoryQt.py:1198 - 3 attempts to load blockchain failed.  Remove mempool.bin.
2018-02-15 09:48:13 (ERROR) -- ArmoryQt.py:1203 - File mempool.bin does not exist. Nothing deleted.
2018-02-15 09:48:13 (INFO) -- ArmoryQt.py:1924 - Setting netmode: 1
2018-02-15 09:48:13 (INFO) -- ArmoryQt.py:4673 - Dashboard switched to "Scanning" mode

What do the two errors about mempool.bin mean.
What exactly is happening now (CPU usage 50%)?
Is it worth to wait now or are those errors fatal?


legendary
Activity: 3794
Merit: 1375
Armory Developer
February 14, 2018, 02:10:38 PM
#43
Quote
"organizing blockchain", CPU 50% and the log is filled with this line like a 1000 times maybe

Let it finish. Your CPU is slow enough that benign dashboard message ends up getting spammed.

Quote
P.s. This is an old but high spec professional grade machine with best components inside even if it is 5 years old.
If it can run CAD, adobe suite products, multiserver docker enviroments and really memory heavy IntelliJ Idea IDE at a decent speed it can not be considered ancient hardware in any means just because it has only 2 cores and usb2.

Professional grade? 2014 Xeons sported 18 Cores with HT. That's high grade. Your CPU doesn't even have HT. High end desktop from 2008 was 4c/8t...

As for USB2. The current blockchain folder is 166GB. At the effective sequential read speed of USB2, it would take 2h20 just to COPY the chain. How long do you think it's gonna need to actually process that data?


The blockchain organization process takes a few seconds on a modern computer. The reason this process has no detailed progress report is because it is so fast on a typical machine. I don't know where you got this PC, but it just doesn't fit the bill. The primary bottlenecks for blockchain processing are:

1) I/O
2) CPU

Both of which you the have low end of, from 15years ago. I can't help you there, sorry.
newbie
Activity: 33
Merit: 0
February 14, 2018, 10:55:35 AM
#42
Armory starts now without the error, but then the same pattern repeats.

"organizing blockchain", CPU 50% and the log is filled with this line like a 1000 times maybe

 
Code:
2018-02-14 16:06:37 (INFO) -- ArmoryQt.py:4673 - Dashboard switched to "Scanning" mode

For me, from the outside it looks like a endless loop somewhere.

https://pastebin.com/bkKTJtr9

P.s. This is an old but high spec professional grade machine with best components inside even if it is 5 years old.
If it can run CAD, adobe suite products, multiserver docker enviroments and really memory heavy IntelliJ Idea IDE at a decent speed it can not be considered ancient hardware in any means just because it has only 2 cores and usb2.
legendary
Activity: 3794
Merit: 1375
Armory Developer
February 14, 2018, 08:48:30 AM
#41
remove the ram-usage line, see if it works.
newbie
Activity: 33
Merit: 0
February 14, 2018, 08:15:57 AM
#40
This is the content of the armoryqt.conf.

Code:
db-type=DB_BARE
ram-usage=4

legendary
Activity: 3794
Merit: 1375
Armory Developer
February 14, 2018, 05:23:06 AM
#39
Quote
Then started ArmoryQT which immediatelz reported an error "unable to spawn the DB"

armorylog.txt: https://pastebin.com/0AsthNUL

Something is off with your armoryqt.conf. Post its content verbatim

Quote
p.s. my PC is "anemic"? :-)

2 cores, USB2. Moses' mobile phone was more powerful than that stuff.
newbie
Activity: 33
Merit: 0
February 14, 2018, 03:25:55 AM
#38
Hi, if I understand you correctly, I should start ArmoryQT alone with the "manage bitcoind..." setting switched OFF.
Just did that, deleted current databases directory and the logfiles before. Rebooted th PC.
Then started ArmoryQT which immediatelz reported an error "unable to spawn the DB"

armorylog.txt: https://pastebin.com/0AsthNUL

p.s. my PC is "anemic"? :-) It is a dell workstation grade PC with intel xeon processor and 12 GB of ram. minumum software installed and windows 10 up to date. It is pretty fast actually just from the feel.
What makes it kind of exotic is, the fact that "Hyper V" and "docker for windows" is installed and their services are running.
legendary
Activity: 3794
Merit: 1375
Armory Developer
February 13, 2018, 09:35:40 PM
#37
1) Get rid of armorydb.conf. Create a file named armoryqt.conf instead, in the same folder. Put this in there:

Code:
db-type=DB_BARE
ram-usage=4

2) Delete the current DB.

3) Make sure auto bitcoind management is turned off (unchecked first checkbox in File > Settings).

4) DO NOT START BITCOINQT/BITCOIND. Your PC is anemic, it probably can't withstand the RAM load of both your node and the DB bootstrap at the same time.

5) Delete your logs (armoryqt.txt armorydb.txt)

6) Start ArmoryQt. Let it sync. If it fails post your logs again.

7) Once this is all done, you can start node manually. Doesn't really matter if the DB is running or not, but the preferred procedure is to start the node manually first, let it sync, then start ArmoryQt.
sr. member
Activity: 525
Merit: 282
February 13, 2018, 02:09:42 PM
#36
Thanks. In the DB log, it looks like the chain never finishes organizing. Looks and sounds like a bug to me. I haven't touched the DB code yet and wouldn't know where to look, though. goatpig?
newbie
Activity: 33
Merit: 0
February 13, 2018, 01:03:02 PM
#35
Ohh yeah. I forgot.

armorylog.txt: https://pastebin.com/4tQMjgkK
dblog.txt: https://pastebin.com/STs8c094
sr. member
Activity: 525
Merit: 282
February 13, 2018, 12:30:37 PM
#34
Please post your logs again. Thanks for moving everything over to a SATA drive. It's a big help, even if an SSD would've been more ideal. Smiley
newbie
Activity: 33
Merit: 0
February 13, 2018, 12:12:12 PM
#33
Just to get the USB2 controversy out of the way. I installed an additional sata hard drive into this PC and moved the blockchain to that drive.

Bitcoin core has been fully synced and correctly pathed, shows current block height.

Deleted armory databse, changed the path to datadir as well and started armory again.
Since 6 hours now like before as well "Organizing blockchain" without any progress beeing shown just a green shade transitioning from left to right and spinner spinning.

"goatpig" or some other dev of this software, please have a look again in this thread. thx.

member
Activity: 270
Merit: 36
February 07, 2018, 02:05:05 PM
#32
is tha fact, that my blockchaindata is on an external USB 2.0 drive.

As someone who has been maintaining the block chain constantly for 7 years now on multiple machines, I would personally suggest anyone dealing with block chain data use a SATA SSD at a minimum. Anything less is just asking for additional difficulty. It can work... sure, but don't expect it to be a smooth, or fast, experience.

The faster the storage, the better Core and Armory will work... from my layman's experience.
Ouch... USB2 as well. If I remember right, that has a third the bandwidth of even a SATA I connection to play with - which itself is ancient. Might be the case that there is nothing wrong with the config now, but scanning the 160+ GB blockchain for the transactions is just going to take a painfully long time.
legendary
Activity: 1120
Merit: 1012
February 07, 2018, 01:22:32 PM
#31
is tha fact, that my blockchaindata is on an external USB 2.0 drive.

As someone who has been maintaining the block chain constantly for 7 years now on multiple machines, I would personally suggest anyone dealing with block chain data use a SATA SSD at a minimum. Anything less is just asking for additional difficulty. It can work... sure, but don't expect it to be a smooth, or fast, experience.

The faster the storage, the better Core and Armory will work... from my layman's experience.
Pages:
Jump to: