Bitcoin Forum
July 12, 2024, 05:04:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 ... 233 »
2101  Bitcoin / Armory / Re: "the broadcast process failed unexpectedly" on: March 19, 2017, 08:33:01 AM
Me too have the same problem.

Grab the raw transaction from Armory and broadcast it directly with core for a better error message.

Yehw, but this I cannot understand at all. Allready peeked in the Armory Appdata and other nearby subdirectories.
Probably the wrong places.

I have troubles understanding "RAW Data", let alone finding them. Can't understand the concept of it.
That's how Newby someone can be.

I am sorry, but I really need some more help, already put some bitcoins in this Armory Wallet, wich seems have to stay there forever.
Oh man , I really feel miserable by such a misstake.

In your case, you'll have to wait for 0.96
2102  Bitcoin / Armory / Re: 0.95.1 the broadcast process failed unexpectedly/tx broadcast timed out on: March 18, 2017, 06:10:47 PM
Grab the raw tx from Armory and broadcast from Core to get better verbose. Otherwise, wait for 0.96 testing binaries.
2103  Bitcoin / Armory / Re: Lost coin in armory wallet on: March 18, 2017, 03:49:09 PM
In the offline computer I went to wallet properties and checked that address in the block chain and I see no transactions

It appears cavirtex never sent you the coins.
2104  Bitcoin / Armory / Re: 0.95.1 the broadcast process failed unexpectedly/tx broadcast timed out on: March 18, 2017, 08:03:13 AM
What verbose did you get from Core on broadcasting the raw tx?
2105  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 17, 2017, 10:55:19 PM
It does, whether the RPC works or not. The particular issue with the messed up cookie file is due to how the config file works with the testnet. When running against the testnet, Core still uses the .conf in the mainnet datadir to init, but will create the cookie file in the testnet datadir.
2106  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 17, 2017, 09:59:54 PM
I can't reproduce the server=1 issue, can someone lay out the exact steps?
2107  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 17, 2017, 06:43:45 PM
No real rush, like I said, I'd just prefer to start using compressed keys for everyone's sake. On that note, will compressed keys become the default key chain in the new wallets? And nested P2WPKH subsequently? I'm hardly expecting a no, I'm just wondering if you think that might cause an issue I'm not seeing.

There are 2 separate code paths for this:

1) Requesting payment addresses. This defaults to P2PKH. I did not add an option to change the default in the settings dialog, I'll have to deal with it eventually.

2) Change addresses. If left on auto, the code will try to match the spend script type. If all spend scripts are P2PKH, it will create a P2PKH change output and vice versa. When pay script types are mixed, auto will favor nested change types. In case of a SW tx, it will favor nested SW, otherwise nested P2PK.

This helps privacy at the cost of converting to compressed keys (or eventually SW) by default. You can however force the change type default to whatever you want in the setting dialog. You will receive a warning about reduced privacy if your change type differs from the pay script type however.

The drawbacks are 2 fold:

You cannot sign for nested types with pre 0.96 signers, and you can't expect to see your funds by simply importing the private keys in another wallet software and expect to see the balance of the nested scripts. These probably don't scan for these P2SH variations. I will most likely mitigate that by offering disgruntled users an opportunity to scan their wallets against my DB on demand, to create a tx and move their coins out in one sweep.

Quote
The scroll bar magic (that traverses super long balance lists) becomes stuck if I try to get beyond a certain proportion of the balance entries.

I'm just clicking, holding the click, and dragging the bar all the way to the base of the bar's range.

This doesn't trigger the Qt signal for hitting the end of the list until after you release the bar. I'm not sure where to get the signal for that event (if there's even one). I was aware of that limitation when I wrote this code but the cost of just figuring out how to get a signal off of the scroll bar is too high to bother as it is. It may appear lazy, but I settled for the model's signal, which won't trigger until after user input is completed. Hence is works by releasing the scroll bar, just using the arrows, or rolling the mouse scroller.

Quote
If the absence of server=1 can be detected, why not get Armory to produce an Error dialog box to tell the user how to deal with the issue? As I said, there'll be infinity threads about this if it's not handled at the software end somehow

I will eventually report the RPC status in the bottom right corner tooltip overlay. I don't intent to leave the bug there to begin with, it shouldn't prevent the DB from setting up.
2108  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 17, 2017, 07:26:22 AM
It takes something like 20-30 seconds to shut down on my machine, even though the CPU isn't active for most of that time. Of course, it's an improvement over 0.95, where it never shut down, period. Smiley

This is still (imo) the FCGI lib taking a while to shutdown. Again, you can try to profile that stuff. Here is a list of all the threads that need end for the process to exit gracefully:

Code:
1) client callback thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L1617

2) client control thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L1427

3) FCGI loop

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L1155

4) server control thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L991

5) server garbage collector

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L1042

6) zero conf process threads

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_supportClasses.cpp#L1741

7) zc parser control thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_supportClasses.cpp#L1001

8 ) node P2P connect loop

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BitcoinP2P.cpp#L868

9) DB control thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_mainthread.cpp#L128

10) main thread

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/main.cpp#L12

This list assumes you got out of the initial scan. Otherwise, it gets a lot more complicated. Just exiting the main thread should be enough to kill the process, although that alone won't guarantee a gracious shutdown. The most important thing to do during shutdown is to properly close the LMDB objects.

Quote
Any news on this?

Sorry, busy IRL, will get to it sometimes before the Sunday.
2109  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 16, 2017, 09:49:03 PM
Yep, exactly the symptoms I experienced (cookie error) before achow101 set it straight. Needs to be in the 0.96 release notes, and if possible written to bitcoin.conf automatically (IMO)

Code just needs fixed to not nuke everything else on failure. As for the automated bitcoin.conf modification, that introduces the credential issues from before that I don't want to deal with at all.

I don't mind that the RPC may fail to setup, I mind that it takes the entire ship on its way down.
2110  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 16, 2017, 09:22:16 PM
cookie error means you aren't running your node with server=1. Maybe that has something to do with the whole process? That's the only new code somehow related to this (it uses the same notification pipeline).
2111  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 16, 2017, 08:17:32 PM
The error in your code snippet is the scan process failing to grab valid block data (it's failing the merkle hash check in basically every thread).

Quote
I suspect something's going wrong inside this call

Is the promise failing to signal the future or the code leading to set the promise failing? This is surprising, that code didn't change at all from 0.95 to 0.96. Have you considered building with XCode 8?
2112  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 16, 2017, 09:49:59 AM
Just checked. No CBO_BDM_Ready message comes in. Also discovered that FINISH_LOAD_BLOCKCHAIN_ACTION is never seen in ArmoryQt.py either.

FINISH_LOAD_BLOCKCHAIN_ACTION is triggered by CBO_BDM_Ready.

Quote
Where should I look next?

On the DB side, the signal is emitted here:

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/BDM_Server.cpp#L1420

There is a lot of code running before it gets to this point. This is the point at which the signal is being prepared to be sent over the socket. My intuition tells me the issue is taking place after that event. A simple print statement should determine that the code always gets past this point (or just looking at the DB log, if it gets past "enabling zero conf", the scan was successful)

If the issue is happening before this, I'll lay out the details of the code behind that signal for you to observe.

Assuming it gets past this point, my first and foremost culprit would be packet mangling over the socket. The code will not choke over a bad packet, it will simply ignore it. The first thing you should do is log the packets you get from the DB.

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/SwigClient.cpp#L987

retval is a string, you can either output it to stdout or save it to a file. Let the code run and show me the packet log for analysis.

EDIT:

Here is my packet log for comparison:

Code:
-INFO  - 1489659588: (..\SwigClient.cpp:988) 040c4244565f50726f67726573730704617e578b9b30ef3f000000004d00000000
-INFO  - 1489659588: (..\SwigClient.cpp:988) 040c4244565f50726f6772657373070431bfabc54d98ef3f180000004e00000000
-INFO  - 1489659588: (..\SwigClient.cpp:988) 040c4244565f50726f677265737307020000000000000000ffffffff0000000000
-INFO  - 1489659588: (..\SwigClient.cpp:988) 040c4244565f50726f677265737307053ff99c0248ecef3fffffffff3131be7100
-INFO  - 1489659589: (..\SwigClient.cpp:988) 040c4244565f50726f67726573730705000000000000f03f000000001eb6407300
-INFO  - 1489659589: (..\SwigClient.cpp:988) 040c4244565f50726f677265737307060000000000000000000000000000000000
-INFO  - 1489659589: (..\SwigClient.cpp:988) 040c4244565f50726f677265737307070000000000000000ffffffff0000000000
-INFO  - 1489659589: (..\SwigClient.cpp:988) 040942444d5f526561647902fee8b01000
BDM is ready!

The last packet is the BDM_ready signal. This 42444d5f5265616479 stands for BDM_Ready in hexits, the last part is a 4bytes integer with its header (02).
2113  Bitcoin / Armory / Re: Hanging forever at 99% of "Scan Transaction History" on: March 15, 2017, 09:08:57 PM
You should build and try 0.96 in the dev branch.
2114  Bitcoin / Bitcoin Technical Support / Re: 0-fee transaction on: March 15, 2017, 06:19:03 PM
I don't think so but will my Armory wallet eventually timeout or something automatically or will I have to take deliberate steps to rectify the situation?

It won't. Armory simply pushes the tx to its supporting node, the node propagates it to the rest of the network. There is no P2P command to dismiss a transaction from the mempool, that would be a massive DoS vector. In other words, once the tx is in the wild, you can only really hope it gets mined, if you aren't going to replace it.

Armory will not drop unconfirmed transactions from its DB until they either mine or are replaced. As the user, you can force Armory to wipe a 0 confirmation tx from your db. It won't dismiss it from mempools, as this can't be done.

Clearing up the zeroconf DB in Armory let's you pick the output for spending again, but there is no guarantee the new tx will propagate since it double spends the first one. Armory does not create RBF inputs to allow for the smooth double spending of 0-conf transactions.

The upcoming version (0.96) supports CPFP to help you "pull" transactions in. RBF support is planned for a later version.
2115  Bitcoin / Armory / Re: Problem with backup on: March 15, 2017, 05:40:52 PM
bitcoind is not starting and the DB is crashing. You need to address both these issues. If you want to backup your wallet before dealing with this stuff, start ArmoryQt in offline mode and go through the backup process.

Then turn off auto bitcoind, start BitcoinQt manually, then try to start Armory in online mode and report here if you still have issues. Make sure to post armorylog.txt and dbLog.txt if you do.
2116  Bitcoin / Armory / Re: Problem with backup on: March 15, 2017, 08:01:10 AM
Post armorylog.txt
2117  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 14, 2017, 07:38:30 AM
While the DB is being populated after the initial block/Tx scan, Armory seems to get confused and never gets past the scan stage, despite Armory appearing to still be scanning. I really don't see anything else in the logs, unfortunately.

Code:
-INFO  - 1489439887: (SocketObject.cpp:516) POLLIN recv return 0

Use some print statements in the client side callback thread, figure out what signal is not going through:

https://github.com/goatpig/BitcoinArmory/blob/dev/cppForSwig/SwigClient.cpp#L894

It should receive one case of CBO_BDM_Ready after the scan is complete. Before that, it should be all CBO_progress packets. If it gets those properly, then something is chocking in this scope:

https://github.com/goatpig/BitcoinArmory/blob/master/ArmoryQt.py#L5834
2118  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 13, 2017, 07:35:24 PM
Have you guys tested the compressed P2SH keys on testnet? Any problems? I'd quite like to begin using them, it seems incredibly anti-social to continue to use uncompressed keys if their implementation is considered safe to use now.

Both nested script types have been tested on the testnet. I cross compiled 0.96 for my RPi yesterday and will test the nested compressed key script on the mainnet with my own coins sometimes before I post the first testing builds.
2119  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 13, 2017, 05:11:33 PM
Something that just occurred to me

Is it not the case that "native" (i.e. not nested P2SH) P2WPKH and P2WSH address formats will appear subsequent to Segwit activation? And I say "appear", as they're AFAIA unspecified at this point.

Any reasonable expectation that the un-nested Witness address specifications will be available to implement before 0.97? Surely the wallet format needs to be change to incorporate them, although presumably not the signer? Will the wallet format actually stabilise at 97.1 or 0.98, in other words?

sipa has a proposal:

https://gist.github.com/sipa/c291da162f6ef8cc770bfc7f015c6c49

It will be discussed at the s3nd meet among other topics:

https://s3nd.org/berlin2017

I can't tell whether this will be ready for 0.97, but I expect it will be by 0.98.
2120  Bitcoin / Armory / Re: 0.96 preliminary testing on: March 12, 2017, 06:35:45 AM
But the mirror spec does support BIP32/39/44? I received my Trezor recently, and would like it working with Armory ASAP

No, there is support for that yet.

Quote
So 0.96 signing will be recommended for compatibility from now on? And the recommended signing version should freeze at 0.97 assuming the wallet format is finalised in that version?

If you use anything but P2PKH, you will have to use 0.96. After 0.97 will come out, the signer shouldn't change for the foreseeable future

Quote
How does the rewrite improve privacy?

The main change is that the former coin selection code had to run on a flat fee. The new code is built to operate on just a fee/byte hint, so it outperforms the original code just by design alone (had to add a lot of code to predict tx size). It performs better with flat fee inputs as well since it evaluates its fee/byte effect.

The coin-age mechanic does not reflect tx priority anymore, its impact on the coin selection calculation has been greatly reduced. This was the primary metric that allowed the former code to consolidate utxos. The conditions for that consolidation were very restrictive too.

Since the new code can predict tx size and adjust fee/byte if necessary, the conditions for consolidations are much laxer. Basically, as long as it can maintain the best privacy score, the code will actively try to consume more utxos than it creates. Utxo consolidation is a long term improvement on privacy. You won't see a benefit from it unless you wallet is highly fragmented.

The other changes are around change output obfuscation.

The rework around fee/byte support and size prediction is more flexible than the previous code. While the previous code did try to pick outputs that obfuscated the change value, this code has an option ("Adjust Fee") that will pick outputs and adapt the fee to align the decimal point between spend value and change value when using fee/byte. While this change has no effect on flat fees, it is particularly efficient with fee/byte.

Since the mirror wallets can handle 2 new P2SH types, it can also match change script type with spend script type. The previous code forced all outputs to P2PKH (the only type it could make sense of). With the new code, in auto change mode (you can modify that in the settings dialog), it will match the change script type with the spend script type. If you don't set it on auto (you can choose to force a specific change script type, say if you want all change to be SW), it will warn you when it differs from the spend script type.

Lastly, all these changes properly apply to explicit utxo sets created through coin control.

Some of the new code may inflate your fee to improve privacy. The fee inflation is currently hard coded to not increase your fee/byte by more than 10%. I may add an option in the future to modify that margin.

Quote
What exactly does the scheme comprise, in comparison to the overall format? It sounds like the scheme is simply a component of the format.

The format defines how the wallet is handled on disk, error checking and encryption parameters, as well as which cryptographic asset it manages and how. The derivation scheme only defines how cryptographic assets are derived from the seed. In this particular case, Armory 1.35c should be compared to BIP32/44, and the Python wallets (which are unversioned) should be compared to the C++ wallets.

Quote
I have to say I like that you've done it this way, it provides flexibility and hence options to the user, allowing each user to use their own judgement of the possible risks of the changes to the code and act accordingly (which you no doubt intended).

Don't want to potentially split the user base by forcing a new wallet code on the community. There are people out there still using 0.93 for whatever reason. At any rate, SegWit is opt-in, so the code around it should be opt-in too. This doesn't apply to coin selection though, that stuff needed reworked around fee/byte.
Pages: « 1 ... 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 ... 233 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!