Bitcoin Forum
May 23, 2024, 11:48:44 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 233 »
301  Bitcoin / Armory / Re: dev branch currently broken? on: December 03, 2020, 10:59:08 AM
Quote
In Fedora 32, PyQt4 is no longer shipped with python2, so I failed to get most recent tags of Armory to build.

Moving away from both py2 and qt4. The dev branch as you've found out runs on py3. I have not migrated to qt5 yet, that will come soon.

Quote
but state showed disconnected

A quick history on the architectural changes:

- Prior to 0.94, all of Armory C++ code was made available as a shared library to Python, using SWIG.

- The next step was to isolate the blockchain service (ArmoryDB) from the rest of the wallet. The client (ArmoryQt/Python) talked to the blockchain server (ArmoryDB/C++) over a socket, using the FCGI protocol (some older protocol from the CGI days, meant to sit behind a HTTP daemon). This connection was not encrypted. ArmoryQt would spawn the DB on its own, connect to it locally and do its thing. Connecting the client to a remote ArmoryDB was not recommended, due to the lack of encryption. Savvy users would typically go around that limitation by SSH'ing into their remote system.

- The current iteration (in the dev branch) uses WebSockets (via LWS). LWS is a robust lib that can handle exposure to the WAN. It can also be paired with a load balancing front (nginx is easy to setup for one) and/or operated behind a cloud host (cloudflare/linode and the likes). The connection has its own AEAD layer added (chacha20poly1305). You can enable TLS in LWS at your own discretion but it isn't on by default and will require setting a few flags in the code and rebuilding ArmoryDB. Since the connection between client and server is now encrypted and authenticated, you need to share keys between the 2 before a connection can be successfully established. This is where your setup is failing atm. More on this at the end.

- SWIG has also been dropped. It didn't mesh well with py3 and imposed annoying restrictions on the build system (particularly with OSX). I didn't find a satisfactory replacement for SWIG so I ended up writing what amounts to a RPC API (CppBridge). This new process talks to ArmoryDB as well as handles wallets and all the crypto. The Python client has been relegated to a dumb interface: all it does is render GUI, the heavy lifting is done in CppBridge. CppBridge will also automate ArmoryDB (this isn't implemented yet).

- CppBridge talks to ArmoryQt through a socket as well. This socket is not yet encrypted, I am currently working on this. There is no fitting chacha20poly1305 Python package out there so I am in the process of creating one myself using CFFI. This connection will be authenticated as well, so it will too require a key share. ArmoryQt automates CppBridge.

-----------------------------------------

Regarding key shares, the default mode for the AEAD channels is 2-way (client authenticates server, server authenticates client). There is a 1-way mode as well (client authenticates server, server does not authenticate client). This mode is only available for ArmoryDB. It needs to be started with --public, and so does the client (1-way clients can't speak to 2-way servers, 2-way clients can't speak to 1-way servers).

In your specific case, to get the dev branch running you would have to share the ArmoryDB's key with CppBridge and vice versa. Assuming you use a 1-way setup, only CppBridge (the client) needs to know of ArmoryDB's key (the server). The keys are stored in dedicated key stores. CppBridge looks for its keys in clients.peers. ArmoryDB looks for them in server.peers. Both these files (when used) are found in your datadir (~/.armory). Ephemeral setups ignore these files. These are used for on the fly key shares when one process automates the other. Since you are running ArmoryDB manually (no other way to do this atm), you are using static keys, hence the key stores.

You can view the content of keys stores and manipulate them with the help of a plain command line tool found in /cppForSwig/KeyManager. I have yet to write any documentation for this tool, but the code file is small and fairly easy to parse: https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/KeyManager.cpp

Currently, CppBridge is hardcoded to accept any server key in a 1-way setup. This means you do not need to actually setup a manual key share, but instead you would need to run both CppBridge and ArmoryDB with --public. ArmoryQt should already pass it this argument to CppBridge, so chances are you are missing --public when running ArmoryDB. In the future I'll remove this shortcut. By then CppBridge will have the code to automate ArmoryDB and will setup an ephemeral key share to secure the socket. It will do the same with the socket to ArmoryQt. The key share process will be for people looking to access a DB remotely and/or allow access to select known peers (or open it up to the public).
302  Bitcoin / Armory / Re: Simplest way to get Armory running? on: November 26, 2020, 03:55:24 PM
Ubuntu, anything 19 or prior, will let you setup Armory easily. You can setup a VM on your main system if you don't want to use another PC.
303  Bitcoin / Armory / Re: Can't get the wallet online on: November 07, 2020, 09:08:03 PM
Pruned node? Armory can't work against a pruned node. Are you sure you have the 300GB on disk?
304  Bitcoin / Armory / Re: Can't get the wallet online on: November 07, 2020, 10:02:16 AM
How many files are in this folder: C:\Users\powpig\AppData\Roaming/Bitcoin/blocks

How large are the first files? Also, check read permissions on that folder.
305  Bitcoin / Armory / Re: Can't get the wallet online on: November 07, 2020, 01:14:09 AM
Is there a zombie instance of ArmoryDB.exe running? Kill that if so. From the cmd prompt, browse to the Armory binary folder (Armory in Program Files) and run ArmoryDB.exe. What do you get?
306  Bitcoin / Armory / Re: Can't get the wallet online on: November 05, 2020, 09:17:14 AM
Quote
-INFO  - 23:42:18.000: (e:\users\goat\code\armory3\cppforswig\blockutils.cpp:915) blkfile dir: C:\Users\powpig\AppData\Roaming\Bitcoin\blocks

It's failing to read the data in that folder. Is this where your blockchain data is? Does your user account have permission to read this folder?
307  Bitcoin / Armory / Re: complete beginner - i'm so lost - armory connection/go online help? on: November 03, 2020, 11:52:49 PM
Code:
Traceback (most recent call last):
  File "ArmoryQt.py", line 1857, in startBitcoindIfNecessary
  File "SDM.pyc", line 190, in setupSDM
BitcoindError: bitcoind not found

It's trying to automate the bitcoin process but can't find it. I'm guessing the binary is on your external drive too. I suggest you start Bitcoin-Qt manually and just let it run, then start Armory and report here.
308  Bitcoin / Armory / Re: complete beginner - i'm so lost - armory connection/go online help? on: November 03, 2020, 08:44:38 PM
Start Armory, grab log files from the Files -> Export logs menu. This just a text file, open it and copy paste the content in pastebin.org. This will generate a link, post it here.
309  Bitcoin / Armory / Re: Can't get the wallet online on: November 03, 2020, 08:43:05 PM
It looks like your node is resyncing from scratch.

Code:
-INFO  - 20:41:17.860: (e:\users\goat\code\armory3\cppforswig\blockdatamanagerconfig.cpp:919) waiting on node sync: 9.5113%
-INFO  - 20:41:24.969: (e:\users\goat\code\armory3\cppforswig\blockdatamanagerconfig.cpp:919) waiting on node sync: 9.52086%
-INFO  - 20:41:31.594: (e:\users\goat\code\armory3\cppforswig\blockdatamanagerconfig.cpp:919) waiting on node sync: 9.53139%
-INFO  - 20:41:43.063: (e:\users\goat\code\armory3\cppforswig\blockdatamanagerconfig.cpp:919) waiting on node sync: 9.54049%
-INFO  - 20:41:51.782: (e:\users\goat\code\armory3\cppforswig\blockdatamanagerconfig.cpp:919) waiting on node sync: 9.55102%

DB is looking for the block files here:

Code:
C:\Users\powpig\AppData\Roaming\Bitcoin\blocks\blocks

Is this correct? At any rate, start Bitcoin-Qt manually and let it fully sync. Then delete the content of your armory db folder (C:\Users\powpig\AppData\Roaming\Armory\databases). With Bitcoin-Qt still running, start Armory and report here.
310  Bitcoin / Wallet software / Re: Why do people avoid using closed source wallets? on: October 31, 2020, 11:18:36 AM
Why trust when you can verify?



Half of these aren't even wallets, they're custodians. The client side is just a dumb interface talking over a web API. Bitcoin Wallet and Mycelium are actual mobile wallets, both open source.
311  Bitcoin / Armory / Re: Current state of Armory? on: October 21, 2020, 10:10:14 AM
Great, thanks! Do you plan another release anytime soon?

Currently I'm working on the py3 migration. The dev branch only runs on py3 now, but that has introduced a bunch of regressions. I have to fix those before moving on to the Qt5 migration. At a glance, that part is fairly straight forward though. Most of the migration work is an opportunity to move a bunch of sensitive code (wallet crypto and the like) to C++ API. This separates the mission critical code from Python and the meshed in Qt stuff, and gives me better flexibility for test coverage.

I'm currently moving all the wallet backup code over. That's the last major piece of code that needs reworked into the API before I can look at the Qt5 migration and pushing out some test builds.
312  Bitcoin / Armory / Re: Current state of Armory? on: October 20, 2020, 08:46:28 AM
I work in the dev branch:

https://github.com/goatpig/BitcoinArmory/tree/dev
313  Bitcoin / Armory / Re: Can't send because of "txn-mempool-conflict" on: October 12, 2020, 05:06:44 PM
Why would a transaction from Armory, sent to the node through RPC for relay to the network and of no relationship to the node's wallet, be stored in the node's wallet.dat and require zapwallettxes to remove it? Huh

Since the tx went through the RPC, Core can correctly assume this tx is yours. I don't know why it would keep track of it, and somehow I doubt zapwallettxes has an actual effect in this case. I'm going to guess Achow only suggested to use this CLI arg as part of a the standard procedure to clean up stuck transactions in Core's Wallet. Armory isn't related to Core's wallet, it only makes use of the networking and consensus parts.
314  Bitcoin / Armory / Re: Can't send because of "txn-mempool-conflict" on: October 08, 2020, 09:46:17 PM
You can simply delete mempool.dat in the bitcoin datadir.
315  Bitcoin / Armory / Re: Preparing database (with bitcoin dir in another hard disk) on: September 16, 2020, 06:13:38 AM
Thanks for the reply Smiley

I use the "File -> Settings..." option within the Armory GUI



and check the configuration in AppData/Roaming/Armory/ArmorySettings.txt, alredy send in the previous post.


My complete log is:
https://pastebin.com/iyuDmpdu

Disable auto bitcoind. Start Core manually, let it sync, then start Armory.
316  Bitcoin / Armory / Re: Stuck on "Preparing Database" and Armory never shows "Online" on: September 06, 2020, 01:15:07 PM
Port 9001 is most likely busy.
317  Bitcoin / Armory / Re: Armory 0.96.5 on: August 31, 2020, 06:20:54 AM
What happened to the website? https://btcarmory.com/ down? Git repo has no updates in years?

I'm expanding https://WalletScrutiny.com to Linux wallets and in terms of binary distribution this would be a "defunct" wallet?

Owned by the former maintainers. I use my repo (goatpig/BitcoinArmory on github). It has a gh-pages branch for btcarmory.com in there. You can look at development in the dev branch. Master only receives signed tags for releases.
318  Bitcoin / Armory / Re: Armory stuck at block 636385 on: August 24, 2020, 05:57:01 AM
Quote
If I run into this error again I'll try your method in order to save myself the time and inconvenience of reindexing the entire blockchain vs reindexing from the blocks that are most likely corrupted.

Reindexing is done on the entire chain unless you explicitly tell your node to assume the chain is valid up to a certain height (-assumevalid=XXXXX is the arg I believe). Deleting only up to the bad data instead of the whole thing reduces how you have to download again. Block download speed can be a bottleneck.
319  Bitcoin / Armory / Re: Convert keys from P2SH-P2PK to p2wpkh-p2sh on: August 23, 2020, 08:43:09 PM
There is no such thing as "conversion", you have to spend the coins from one script type to another.
320  Bitcoin / Armory / Re: Armory stuck at block 636385 on: August 20, 2020, 07:59:48 AM
If you are going to reindex Core, you should delete the last few blkXXXXX.dat files. The error you are getting from Armory means that it is failing to match a block's list of transaction with its header (what carries the proof of work). Armory is most likely stuck at that specific block height because it rejects the next block (the one with the merkle error) and therefor fails to extend the chain.

Core checks blocks then writes them to disk. It doesn't check that the data written to disk matches what it has checked, therefor write errors go through transparently and Armory runs into them later. A reindex tells Core to recheck all blockchain data, which I believe leads to redownloading bad data (don't quote me on that). Reindexing is pretty expensive, so I'd suggest you just nuke the last few block files and restart Core. That will trigger a reindexing on its own and also make sure you're not carrying the botched block anymore.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 233 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!