Show Posts
|
Pages: [1] 2 »
|
What is .cookie_ written in .armory directory? That is causing a small issue as it is written by ArmoryQt inside docker as root. I decided to make the batch file: #!/bin/bash x-terminal-emulator -e bitcoind & x-terminal-emulator -e ArmoryDB & docker container run -it -v $HOME/.armory:/root/.armory -e DISPLAY=unix$DISPLAY --net=host armoryqt
This way it launches the bitcoind and ArmoryDB in a separate spawned terminal. I can view the output as well as closing them off when I am finished. But, how does ArmoryQT normally shutown the bitcoind and ArmoryDB when you exit? Is it done by port communication or some terminal kill process?
|
|
|
Thanks, I just added those 2 conf files and now even simpler. I just run: bitcoind ArmoryDB docker container run -it -v $HOME/.armory:/root/.armory -e DISPLAY=unix$DISPLAY --net=host armoryqt
This can be put into a batch file and added to the menu with a armory icon I guess. So, pretty seamless. I have to say it is extremely fast and I don't notice any difference. This little project made me learn docker more and I have to say I like it.
|
|
|
I got it to work your way! There was a typo in your armorydb-ip port, you meant "armorydb-port="5000". Since I am running docker with "--net=host" parameter all network communication in docker is on host network. That solves the IP resolution issues. I still have to mount the local .armory directory in the docker commandline so ArmoryQt sees my config file when it is launched in there. I built the docker image with the following Dockerfile. Dockerfile FROM linuxmintd/mint19.3-amd64 RUN apt update RUN apt -y install python-qt4 python-psutil RUN wget https://github.com/goatpig/BitcoinArmory/releases/download/v0.96.5/armory_0.96.5_amd64_gcc7.2.deb RUN dpkg -i armory_0.96.5_amd64_gcc7.2.deb CMD /usr/bin/python /usr/lib/armory/ArmoryQt.py --armorydb-port="5000" --force-fcgi
I build docker image calling it armoryqt: docker build -t armoryqt .
Now to run ArmoryQT, I first start bitcoind and ArmoryDB (passing my nonstandard datadir to it) on local host: bitcoind ArmoryDB --fcgi-port=5000 --satoshi-datadir="/media/ssd/.bitcoin"
Then, I start ArmoryQt on docker: docker container run -it -v $HOME/.armory:/root/.armory -e DISPLAY=unix$DISPLAY --net=host armoryqt
I can see the connection on local host to ArmoryDB by "registered bdb". Inside ArmoryQt, I can see the green block number showing it is connected and with latest bitcoin block updated. Great! Thanks for the help on this one. I'll stick with your way since it is more elegant and efficient. So far works well.
|
|
|
That's an odd way of doing it (running all process within docker and share the files across the host). My suggestion was to run Core and ArmoryDB on the host system, ArmoryQt within docker/VM, and point it to the port ArmoryDB is listening to. Would fix your permission issue too.
I think I misunderstood you and did it the way I thought was more intuitive to me. haha. I am still up to the challenge and doing another take on this with your way. I didn't understand the part about getting armoryDB and core running separately while armoryQt knowing they are running on the port. I assumed launching armory executes the bitcoind and armoryDB no matter what. So, I would launch the bitcoind and armoryDB first. Then, docker running ArmoryQt would see them by port? That is the part I don't understand.
|
|
|
I got armory working with Mint 19 inside docker. I made a custom image from the mint 19.3 docker container and made up a Dockerfile to handle the armory installation as well as copying over the needed bitcoind file. Note the bitcoind file must be where you run the docker build. Installing bitcoin on the docker can be done, but I had issues with the PPA, so I just copied over the latest 0.20 daemon. Then, I mounted the shared drives needed for bitcoin blockchain, bitcoin conf (telling it where blockchain is located), and lastly the armorydb directory. So, a total of 3 mappings outside of docker to local HDs. I needed 3 mappings because that is the way I had it before and my armory configured that way. I have armory launching automatically upon docker container run and then I specify the display environment so I see the gui. The blocks synced and armory is online with daemon running background on docker referring to external files. One small issue is that the newly written blocks are root perms because docker accesses the local filesystem as root. If I want to run local bitcoin-qt, I must first change the perms back to user. No big deal for now. I probably can tweak this more and fix things up more elegantly. For now, this is great and is how I will be using armory. Surprisingly it runs extremely fast. I can't tell the difference from before. Dockerfile FROM linuxmintd/mint19.3-amd64 RUN apt update RUN apt -y install python-qt4 python-psutil RUN wget https://github.com/goatpig/BitcoinArmory/releases/download/v0.96.5/armory_0.96.5_amd64_gcc7.2.deb RUN dpkg -i armory_0.96.5_amd64_gcc7.2.deb COPY bitcoind /usr/bin/ CMD ["/usr/bin/armory"]
Then build the new image(same dir as Dockerfile): docker build -t armory:latest .
Command to start docker container: docker container run -it -v $HOME/.armory:/root/.armory -v $HOME/.bitcoin:/root/.bitcoin -v /media/ssd/.bitcoin:/media/ssd/.bitcoin -e DISPLAY=unix$DISPLAY --net=host armory
|
|
|
Thanks for taking the time for the explanation of future. I appreciate it. I am only an amateur coder, but I understand exactly what you are talking about. Are you a 1-man team on this? Has nobody else joined the team to accelerate stuff? It is way too much for 1 person to do. But, the good news is that even if armory was never updated, I love it the way it is. But, my fear is of it becoming un-runnable on systems or because of bitcoin core wallet updates(happened in past) or the new BIPs and wallet address conventions. There is a new bitcoin softfork in the works. schnorr and taproot implementation. I hope all goes smooth.
As far as the docker idea, I may try playing around with it. Kind of a fun project. I think it is a great idea having the db communication of course outside the container to the local OS. I've seen some examples of having a remote display setup through docker. So, you can actually have the gui app display on local OS, but it is running in docker(which is communicating to local HD db for both bitcoin and armorydb). Sounds like an awesome cool Sunday project.
|
|
|
I was actually thinking of the VM way too. I use offline cold wallet and already have signing armory on a USB bootable linux(I unplug internet on machine while I boot from USB). I don't mind too much, for the moment, doing it this way as I don't need super frequent access to armory.
I am just curious, but will armory ever see a future of a fully compiled Qt app just like bitcoin core wallet? I understand you want the GUI in python and all the fast stuff in C++. But, Qt in C++ is very mature and easily to maintain. Yes, I know it is a lot of work. I was just asking about the far future and evolution of armory. I have to say I love this wallet and have been using it for probably more than 7 years. I've learned to trust it.
How about making a docker container instead of a VM?
Thanks again for the help here.
|
|
|
Ubuntu 20 comes with py3 by default, not py2.
I tried installing qt4 but doesn't seem available. I have python2 installed from the past and it is still installed after upgrade. I tried many ways to install python-qt4 and it doesn't show up. "armory : Depends: python-qt4 but it is not installable" Does Armory absolutely need qt4 to be installed? It cannot use Qt5 with python3? What would you suggest in my situation to get armory working? Force install qt4 somehow? But, I am worried it might make a mess to have qt4 installed. It isn't any longer in the repository and seems like mint 20 doesnt want it installed when qt5 is installed already. I was thinking maybe a search and replace for qt4 to qt5 in the python files or is armory going to break if I do that. Thanks in advance for the help.
|
|
|
I am having problems running after upgrade to Mint 20.04. Mint 20.04 is based on Ubuntu 20.04 LTS (Focal Fossa). I tried to reinstall and some dependencies fail. On execution I get:
Traceback (most recent call last): File "/usr/bin/../lib/armory/ArmoryQt.py", line 36, in <module> from PyQt4.QtCore import * ImportError: No module named PyQt4.QtCore
On trying to reinstall from archive, I get:
dpkg: dependency problems prevent configuration of armory: armory depends on python-qt4; however: Package python-qt4 is not installed. armory depends on python-psutil; however: Package python-psutil is not installed.
I tried to install python-qt4 and other dependencies, but had some issues as well.
Anyone get armory working on the new Mint or Ubuntu?
|
|
|
OK, I updated Armory to the test build. I went through testing paper wallet and everything worked out this time. Thanks.
|
|
|
Here is the armorylog.txt: 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1138 - C++ block utilities loaded successfully 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1255 - 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1256 - 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1257 - 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1258 - ************************************************************ 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1259 - Invoked: C:\Program Files (x86)\Armory\ArmoryQt.exe --datadir=e:\Armory 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1260 - ************************************************************ 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1261 - Loading Armory Engine: 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1262 - Armory Version : 0.96 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1263 - Armory Build: : a3d01aa722 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1264 - PyBtcWallet Version : 1.35 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1265 - Detected Operating system: Windows 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1266 - OS Variant : 8-6.2.9200--Multiprocessor Free 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1267 - User home-directory : C:\Users\blahblah\AppData\Roaming 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1268 - Satoshi BTC directory : C:\Users\blahblah\AppData\Roaming\Bitcoin\ 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1269 - Armory home dir : e:\Armory 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1270 - Detected System Specs : 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1271 - Total Available RAM : 7.94 GB 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1272 - CPU ID string : Intel64 Family 6 Model 30 Stepping 5, GenuineIntel 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1273 - Number of CPU cores : 8 cores 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1274 - System is 64-bit : True 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1275 - Preferred Encoding : cp1252 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1276 - Machine Arch : amd64 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1277 - Available HDD (ARM) : 237 GB 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1278 - Available HDD (BTC) : 140 GB 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1279 - 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1280 - Network Name: Main Network 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1281 - Satoshi Port: 8333 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1282 - Do wlt check: True 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1283 - Named options/arguments to armoryengine.py: 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - thread_count : -1 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - rescan : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - ignoreAllZC : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - rescanBalance : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - disableModules : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - port : None 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - interport : 8223 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - coverageOutputDir: None 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - forceWalletCheck: False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - regtest : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - rebuild : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - nettimeout : 2 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - datadir : e:\Armory 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - clearMempool : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - offline : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - armoryDBDir : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - armorydb_port : 9001 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - satoshiPort : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - useTorSettings : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - netlog : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - keypool : 100 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - coverageInclude : None 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - forceOnline : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - redownload : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - rpcBindAddr : 127.0.0.1 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - armorydb_ip : 127.0.0.1 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - multisigFile : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - ram_usage : -1 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - mtdebug : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - logDisable : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - settingsPath : e:\Armory\ArmorySettings.txt 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - language : en 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - db_type : DB_FULL 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - doDebug : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - enableDetSign : True 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - disableConfPermis: False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - testnet : False 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - rpcport : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - satoshiHome : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - satoshiRpcport : DEFAULT 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - logFile : e:\Armory\ArmoryQt.exe.log.txt 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1285 - verbosity : None 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1286 - Other arguments: 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1289 - ************************************************************ 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:1692 - C++ block utilities loaded successfully 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:3590 - Using settings file: e:\Armory\ArmorySettings.txt 2017-07-13 15:09 (ERROR) -- ArmoryUtils.pyc:3747 - Unsupported language specified. Defaulting to English (en) 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:3750 - Using Language: en 2017-07-13 15:09 (INFO) -- BDM.pyc:368 - Using the asynchronous/multi-threaded BlockDataManager. 2017-07-13 15:09 (INFO) -- BDM.pyc:369 - Blockchain operations will happen in the background. 2017-07-13 15:09 (INFO) -- BDM.pyc:370 - Devs: check TheBDM.getState() before asking for data. 2017-07-13 15:09 (INFO) -- BDM.pyc:371 - Registering addresses during rescans will queue them for 2017-07-13 15:09 (INFO) -- BDM.pyc:372 - inclusion after the current scan is completed. 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:3590 - Using settings file: e:\Armory\ArmorySettings.txt 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2042 - loadWalletsAndSettings 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2102 - Loading wallets... 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2167 - Number of wallets read in: 2 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2172 - Wallet (xxxxxxxxx): "Restored - xxxxxxxxx " (Encrypted) 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2172 - Wallet (xxxxxxxx): "xxxxxxxx " (Encrypted) 2017-07-13 15:09 (INFO) -- ArmoryQt.py:2177 - Loading Multisig Lockboxes 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1747 - acquiring process mutex... 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1385 - setupUriRegistration 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1453 - Armory already registered for current user. Done! 2017-07-13 15:09 (INFO) -- ArmoryQt.py:558 - Usermode: Expert 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1681 - Changing usermode: 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1682 - From: Expert 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1690 - To: Expert 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1814 - startBitcoindIfNecessary 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1850 - setSatoshiPaths 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1868 - Setting satoshi datadir = E:\Bitcoin 2017-07-13 15:09 (INFO) -- SDM.pyc:169 - Found bitcoind in the following places: 2017-07-13 15:09 (INFO) -- SDM.pyc:171 - C:\Program Files\Bitcoin\daemon\bitcoind.exe 2017-07-13 15:09 (INFO) -- SDM.pyc:173 - Using: C:\Program Files\Bitcoin\daemon\bitcoind.exe 2017-07-13 15:09 (INFO) -- SDM.pyc:337 - Called startBitcoind 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:665 - Executing popen: ['C:\\Program Files\\Bitcoin\\daemon\\bitcoind.exe', u'-datadir=E:\\Bitcoin'] 2017-07-13 15:09 (INFO) -- SDM.pyc:443 - PID of bitcoind: 6228 2017-07-13 15:09 (INFO) -- SDM.pyc:444 - PID of armory: 8284 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:665 - Executing popen: ['.\\guardian.exe', '8284', '6228'] 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1850 - setSatoshiPaths 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1868 - Setting satoshi datadir = E:\Bitcoin 2017-07-13 15:09 (WARNING) -- SDM.pyc:396 - Spawning DB with command:./ArmoryDB.exe --db-type="DB_FULL" --cookie --satoshi-datadir="E:\Bitcoin\blocks" --datadir="e:\Armory" --dbdir="e:\Armory\databases" 2017-07-13 15:09 (INFO) -- ArmoryUtils.pyc:665 - Executing popen: ['./ArmoryDB.exe', '--db-type="DB_FULL"', '--cookie', u'--satoshi-datadir="E:\\Bitcoin\\blocks"', u'--datadir="e:\\Armory"', u'--dbdir="e:\\Armory\\databases"'] 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1900 - Setting netmode: 1 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1882 - loadBlockchainIfNecessary 2017-07-13 15:09 (INFO) -- ArmoryQt.py:1900 - Setting netmode: 1 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (WARNING) -- ArmoryQt.py:4057 - Called updateSyncProgress while not sync'ing 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:09 (INFO) -- ArmoryQt.py:4619 - Dashboard switched to "Scanning" mode 2017-07-13 15:10 (INFO) -- ArmoryQt.py:5398 - BDM state is scanning -- force shutdown BDM 2017-07-13 15:10 (INFO) -- SDM.pyc:457 - Called stopBitcoind 2017-07-13 15:10 (ERROR) -- ArmoryQt.py:5411 - Strange error during shutdown Traceback (most recent call last): File "ArmoryQt.py", line 5402, in closeForReal File "SDM.pyc", line 483, in stopBitcoind File "armoryengine\ArmoryUtils.pyc", line 829, in LOGERROR TypeError: cannot concatenate 'str' and 'exceptions.RuntimeError' objects 2017-07-13 15:10 (INFO) -- ArmoryQt.py:5414 - Attempting to close the main window! The program crashes and not sure if it captures the error in there. After I exit the windows popup, the Armory GUI is still open and keeps running. I have to exit it. I restart it and the same exact thing happens. To reinstate, only when I place back my original .wallet file, then everything works. If the you don't get anything from the log, I can try to reproduce the error again and capture more.
|
|
|
I cleared out all wallets from my past installation of armory and placed only my current wallet in the directory. Another wallet appears in the directory and is never logged into the Armory wallet list in the GUI. Is there a reason why there is another "invisible" wallet appearing in the armory directory? Does Armory use any wallet resources other than the ones created by the user? Is it safe to delete all the wallets that are not listed in the wallet list in GUI? Update: Oops, I answered my own question. I deleted them and then I was presented with a popup message upon launching Armory. The popup happens quick so I never noticed upon installation of Armory 0.96. They are watch only wallets and mirror the original wallets, which contain the private keys. Update 2: I was conducting a test of a restore of my paper wallet. The wallet was correctly imported and wallet string matched. However, Armory crashed with following error: dbLog.txt: Log file opened at 1499973596: e:\Armory/dbLog.txt -INFO - 1499973596: (..\main.cpp:23) Running on 8 threads -INFO - 1499973596: (..\main.cpp:24) Ram usage level: 4 -INFO - 1499973596: (..\BlockUtils.cpp:907) blkfile dir: E:\Bitcoin\blocks -INFO - 1499973596: (..\BlockUtils.cpp:908) lmdb dir: e:\Armory\databases -INFO - 1499973596: (..\lmdb_wrapper.cpp:388) Opening databases... -INFO - 1499973598: (..\BDM_Server.cpp:996) registered bdv: 7519440fd3d3f120b88f -INFO - 1499973600: (..\BlockUtils.cpp:1091) Executing: doInitialSyncOnLoad -INFO - 1499973600: (..\DatabaseBuilder.cpp:169) Reading headers from db -INFO - 1499973604: (..\DatabaseBuilder.cpp:208) Found 475688 headers in db -INFO - 1499973607: (..\DatabaseBuilder.cpp:51) updating HEADERS db -INFO - 1499973607: (..\DatabaseBuilder.cpp:477) Found next block after skipping 351001bytes -INFO - 1499973608: (..\DatabaseBuilder.cpp:268) parsed block file #933 -DEBUG - 1499973608: (..\Blockchain.cpp:242) Organizing chain -INFO - 1499973608: (..\DatabaseBuilder.cpp:56) updated HEADERS db in 0.696s -INFO - 1499973608: (..\DatabaseBuilder.cpp:106) scanning new blocks from #475688 to #475687 -INFO - 1499973608: (..\BlockchainScanner.cpp:52) no history to scan -INFO - 1499973608: (..\BlockchainScanner.cpp:813) no SSH to scan -INFO - 1499973608: (..\DatabaseBuilder.cpp:156) scanned new blocks in 0.01s -INFO - 1499973608: (..\DatabaseBuilder.cpp:160) init db in 8.161s -INFO - 1499973608: (..\BlockUtils.cpp:1206) Enabling zero-conf tracking -INFO - 1499973608: (..\BDM_supportClasses.cpp:366) Starting address registration process --ERROR - 1499973608: (..\BlockchainScanner.cpp:ERROR - 1499973608: (..\BlockchainScanner.cpp:-ERROR - 1499973608: (..\BlockchainScanner.cpp:271) raw data does not match expected block hash -ERROR - 1499973608: (..\BlockchainScanner.cpp: I then went to delete the mirror wallets so Armory can regenerate them. Still same error. So, there seems to be an issue when I restore wallet from paper. I place back the original .wallet file and also remove mirror wallets. Armory works ok after this. It does not seem to like the restored wallet for some reason.
|
|
|
I checked out the manual entry based on cards. The box grid 4x13 are not labeled. Although, easy to figure out: [Ace, 2-10, J, Q] x [spade, heart, diamond, clubs] I didnt see labels. I do agree with you it is hard to trust windows PRNG for the super paranoid. Great feature for the added entropy. XORing will truly randomize the PRNG like a one time pad.
I think it is prudent to add this entropy if creating wallets for serious use.
thanks for the reply and keep up the great work. I love armory wallet.
|
|
|
I just thought it would be great to maybe have the option to supply the private key to armory for seeding armory wallet. It would be nice to generate a new wallet outside of armory. Say, roll dice / use cards to make a private key if one is not confident with csprng. Armory would take this private key and use it as a seed for the deterministic wallet.
I understand there is a manual entropy feature when generating a wallet in Armory. Is this equivalent in true randomness(not pseudo random like all computer rng are) when used?
Any thoughts on this feature?
|
|
|
I can start Bitcoin QT and then sync. It works just fine. Also in Armory no error messages but balance is not correct specifically it shows unconfirmed - less than six - but my transaction nows hundreds of confirmations. I've tried many things. What I found worked was to first launch bitcoin-qt and make sure it synced there correctly. Then, exit that. Start up armory and "rebuild and rescan" under help menu. Then, restart armory. This does go very quick with new db system in Armory. These steps should have worked. Also, verify you are at latest block: Check lower right corner in Armory block and compare it with the current block off a blockchain website to know latest. --- As a follow up to achow101 help so far, I had some corruption in the blockchain as seen in the logs. I painstakingly re-synced the bitcoin core from scratch. It took 24 hours(approx. cumulative) on my computer. I also deleted armory db and let it redo that. I carefully looked at logs and everything seems very clean now. In my case, although I am not 100% certain yet -- time will tell, the problem seems gone. I will post again if I experience the "running ... zc parser threads" hang.
|
|
|
I will post again when it happens again. I don't know what happened to dblog.txt I will delete and let it create a new one. Not sure why it is weird looking and not just pure text.
As well, I will try syncing just before the corruption if possible.
|
|
|
I'm using bitcoin core 0.14.2 and Armory 0.96.0 I attached the logs. Note: The dblog.txt file was weird and seemed binary and then at the bottom of it was text. I copy just the text portion. There doesn't seem to be the capture of the time it didnt work. Not sure if it tells you anything. Thanks for the help in advance. armorylog.txt: https://pastebin.com/W0mnjAxFdbLog.txt: Log file opened at 1499193957: e:\Armory/dbLog.txt -INFO - 1499193957: (..\main.cpp:23) Running on 8 threads -INFO - 1499193957: (..\main.cpp:24) Ram usage level: 4 -INFO - 1499193957: (..\BlockUtils.cpp:907) blkfile dir: E:\Bitcoin\blocks -INFO - 1499193957: (..\BlockUtils.cpp:908) lmdb dir: e:\Armory\databases -INFO - 1499193957: (..\lmdb_wrapper.cpp:388) Opening databases... -INFO - 1499193959: (..\BDM_Server.cpp:996) registered bdv: a681cb1c355f423c36c7 -INFO - 1499193961: (..\BlockUtils.cpp:1091) Executing: doInitialSyncOnLoad -INFO - 1499193961: (..\DatabaseBuilder.cpp:169) Reading headers from db -INFO - 1499193968: (..\DatabaseBuilder.cpp:208) Found 474169 headers in db -INFO - 1499193971: (..\DatabaseBuilder.cpp:51) updating HEADERS db -INFO - 1499193975: (..\DatabaseBuilder.cpp:268) parsed block file #923 -INFO - 1499193975: (..\DatabaseBuilder.cpp:268) parsed block file #924 -DEBUG - 1499193975: (..\Blockchain.cpp:242) Organizing chain -INFO - 1499193975: (..\DatabaseBuilder.cpp:56) updated HEADERS db in 4.345s -INFO - 1499193975: (..\DatabaseBuilder.cpp:106) scanning new blocks from #474147 to #474146 -INFO - 1499193976: (..\BlockchainScanner.cpp:52) no history to scan -INFO - 1499193976: (..\BlockchainScanner.cpp:813) no SSH to scan -INFO - 1499193976: (..\DatabaseBuilder.cpp:156) scanned new blocks in 0.025s -INFO - 1499193976: (..\DatabaseBuilder.cpp:160) init db in 14.702s -INFO - 1499193976: (..\BlockUtils.cpp:1206) Enabling zero-conf tracking -INFO - 1499193996: (..\BitcoinP2P.cpp:947) Connected to Bitcoin node -INFO - 1499194001: (..\BlockchainScanner.cpp:650) scanned from height #474147 to #474148 -INFO - 1499194025: (..\BlockchainScanner.cpp:650) scanned from height #474149 to #474153 -INFO - 1499194026: (..\BlockchainScanner.cpp:650) scanned from height #474154 to #474154 -INFO - 1499194035: (..\BlockchainScanner.cpp:650) scanned from height #474155 to #474155 -INFO - 1499194044: (..\BlockchainScanner.cpp:650) scanned from height #474156 to #474159 -INFO - 1499194049: (..\BlockchainScanner.cpp:650) scanned from height #474160 to #474161 -INFO - 1499194050: (..\BlockchainScanner.cpp:650) scanned from height #474162 to #474174 -ERROR - 1499194068: (..\BlockDataMap.cpp:79) merkle root mismatch! -ERROR - 1499194068: (..\BlockDataMap.cpp:80) header has: 22341d21d654bb52303833ad2ddc84df3cee666a3244c4a4e451f8c1e44d1503 -ERROR - 1499194068: (..\BlockDataMap.cpp:81) block yields: 0cc9a1542175e6e37d71012a32f67194d8b2eaed6fc9282f45b7e63d65a289f0 -ERROR - 1499194068: (..\DatabaseBuilder.cpp:353) block deser except: invalid merkle root -INFO - 1499194068: (..\BlockchainScanner.cpp:650) scanned from height #474175 to #474175 -INFO - 1499194069: (..\BlockchainScanner.cpp:650) scanned from height #474176 to #474176 -INFO - 1499194072: (..\BlockchainScanner.cpp:650) scanned from height #474177 to #474192 -ERROR - 1499194089: (..\BlockDataMap.cpp:79) merkle root mismatch! -ERROR - 1499194089: (..\BlockDataMap.cpp:80) header has: aaf537a845bd2b19c6d4b98d5da0ab3ace472290673a7e068083b2688e6fa571 -ERROR - 1499194089: (..\BlockDataMap.cpp:81) block yields: ce563fd78c081e7acee397fd94fc845919f7f57007a53fe14c0f593d0391eedc -ERROR - 1499194089: (..\DatabaseBuilder.cpp:353) block deser except: invalid merkle root -INFO - 1499194090: (..\BlockchainScanner.cpp:650) scanned from height #474193 to #474195 -ERROR - 1499194107: (..\BlockDataMap.cpp:79) merkle root mismatch! -ERROR - 1499194107: (..\BlockDataMap.cpp:80) header has: c32795d3b32cd7f481c9943e5e36801e9eb0f1d8f50534fdb676555be09b5888 -ERROR - 1499194107: (..\BlockDataMap.cpp:81) block yields: 4727e8272c9cada19c98405e36750217995e61492b9b3817fa35de0d5252ee27 -ERROR - 1499194107: (..\DatabaseBuilder.cpp:353) block deser except: invalid merkle root -INFO - 1499194108: (..\BlockchainScanner.cpp:650) scanned from height #474196 to #474207 -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 10 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 15 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 20 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 25 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 30 zc parser threads -INFO - 1499194122: (..\BlockchainScanner.cpp:650) scanned from height #474208 to #474219 -INFO - 1499194127: (..\BlockchainScanner.cpp:650) scanned from height #474220 to #474224 -WARN - 1499194131: (..\BDM_supportClasses.cpp:1891) running 35 zc parser threads -WARN - 1499194131: (..\BDM_supportClasses.cpp:1891) running 40 zc parser threads -WARN - 1499194131: (..\BDM_supportClasses.cpp:1891) running 45 zc parser threads -INFO - 1499194131: (..\BlockchainScanner.cpp:650) scanned from height #474225 to #474226 -INFO - 1499194387: (..\nodeRPC.cpp:368) Bitcoin server stopping -ERROR - 1499194387: (..\BitcoinP2P.cpp:1037) caught StopBlockingLoop in processDataStackThread -INFO - 1499194387: (..\BitcoinP2P.cpp:969) Disconnected from Bitcoin node -INFO - 1499194389: (..\BDM_Server.cpp:1025) unregistered bdv: a681cb1c355f423c36c7 -INFO - 1499194389: (..\BDM_Server.cpp:936) proceeding to shutdown -ERROR - 1499194390: (..\SocketObject.cpp:262) poll() error in readFromSocketThread: 10038 -ERROR - 1499194390: (..\BitcoinP2P.cpp:1027) caught SocketError exception in processDataStackThread: poll() error in readFromSocketThread: 10038 -INFO - 1499194391: (..\BitcoinP2P.cpp:969) Disconnected from Bitcoin node -ERROR - 1499194392: (..\BDM_mainthread.cpp:286) caught exception in main thread: terminate
|
|
|
I am not sure if other people are getting this issue. I have read on here and it doesn't seem exactly posted as I am experiencing it. I have to say I love Armory Bitcoin wallet. There is no other wallet out there that comes close. It has all the features I want and the trust and security I want. So, I use it no matter if it is buggy sometimes because I still trust it. I found the older versions were more rock solid in terms of giving current balances and transactions. But, the newer version works much much faster with its own database. The old one took about the same as the bitcoin core. The new one is very small. SO that is a major plus. The problem I have is that sometimes(it happens randomly) it does not give me current balance although I verified it has downloaded all blocks and is current. I tried it 2 ways. I sync it with core first, then load Armory. I also try just letting Armory do it with bitcoind. Both ways sometimes(maybe 1 out of 10 times or so) will not give me current balance. I get this from the console and it halts with no other lines. -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 10 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 15 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 20 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 25 zc parser threads -WARN - 1499194121: (..\BDM_supportClasses.cpp:1891) running 30 zc parser threads The way I can get around this issue is to only rescan and rebuild armory database. Then, I have current balance. Why is my armory not 100% robust and flawless in scanning database when I load it?
|
|
|
I already submitted a support ticket. I am just posting a brief description here in case anyone else may have had the problem. I upgraded bitcoin core to 0.11.1, ran it, waited for total sync. I upgraded Armory to 0.93.3, ran it, and waited for total sync.
I did not see my most recent transaction(receiving). So, I verified in blockchain, and it is verified. Then, I exported key to bitcoin core and my transaction was there, no problem. However, Armory does not see it. I already tried rebuilding and rescanning database.
Anyone ever had this?
|
|
|
Thanks for the reply. I will look into this. I know there are some other APIs out there that do block parsing. But, I do like armory code and would love to use it to generate my own interesting statistics on the blockchain.
As an aside, you don't think there would be some way using some of the lower calls, like in blockutils, to just dump addresses, balances, and sort using the standard(not supernode) sorted armory database?
|
|
|
|