Pages:
Author

Topic: Core 0.21.0 online transaction, wont get created in the pool, SOLVED,PARTIALLY (Read 359 times)

HCP
legendary
Activity: 2086
Merit: 4363
I did the command
dumpprivkey BITCOIN_ADDRESS_GOES_HERE
and it worked to give me a private key which I could the use to sweep into electrum. All is good. Thank you very much. Appreciate it.
Excellent... glad that you got that sorted.


..but.... from my experimentation the problem is...

1. You will never be able to send a transaction in bitcoin core -qt if this type of address exists. It just wont get into the mempool. Is this a bug?
I don't think so... I've got a mix of legacy, nested and native segwit addresses in my Bitcoin Core wallet... and I don't have any issues sending/receiving transactions.

Given the issues you have had, it seems like your wallet was, for whatever reason, just not synced correctly. Huh It seems like the wallet.dat had not been updated to reflect the fact that the "3-type" address had been "used" and had received funds. In my experiments, as soon as the "3-type" address was used as a "receive" address, it was listed in both the top section of the dumpwallet output (with the WIF keys) and in the bottom section of the output (with the 0014 redeem scripts).

I'm not sure why your output only had it in the bottom section... I can only assume that the wallet had not been rescanned correctly. Huh



2. Also you will never be able to create a unsigned send transaction for the same address from an electrum watch only wallet. Is this a bug?
As far as I'm aware you should be able to do this... I have just created an unsigned transaction in an Electrum watching only wallet that contains a funded "nested segwit" imported address (ie. "3-type" address) and I was able to sign it in an Electrum that had the private key for that address...

Unless you mean you were trying to create an unsigned transaction from Electrum and sign it in Bitcoin Core? Huh But even that should work now that Electrum is generating unsigned transactions in PSBT (Partially Signed Bitcoin Transaction) format.
jr. member
Activity: 43
Merit: 7
I did the command

dumpprivkey BITCOIN_ADDRESS_GOES_HERE

and it worked to give me a private key which I could the use to sweep into electrum. All is good. Thank you very much. Appreciate it.


..but.... from my experimentation the problem is...

1. You will never be able to send a transaction in bitcoin core -qt if this type of address exists. It just wont get into the mempool. Is this a bug?

2. Also you will never be able to create a unsigned send transaction for the same address from an electrum watch only wallet. Is this a bug?


Have you experienced this before?
HCP
legendary
Activity: 2086
Merit: 4363
OK, thanks, trying to locat the pvt key for my address in the ouput dumpwallet file gets me only a line with this redeem script
starting with

0014..............

So where is the pvt key in the dump file for the address?
It's likely one of the private keys in the first part of the dumpwallet... which (unfortunately) is likely to be displayed with a "bc1" address... So it won't be immediately obvious which one it actually is. Undecided

So, you can try and use the dumpprivkey command to dump that one specific key:
Code:
dumpprivkey BITCOIN_ADDRESS_GOES_HERE



Or, if that fails, your only real option then is to import ALL of them into Electrum. Undecided

Just use all of the "WIF" keys in the top part... and import them into "Electrum" using the 'p2wpkh-p2sh:' prefix. So, from my previous post... while the WIF keys are output in the dumpwallet output with "bc1" addresses:
Code:
KysRpRgfFZxfnMWFAhzhXGH65fnFLvp3iJ5is2NX8qsftWWogVHd 2021-04-17T03:53:24Z reserve=1 # addr=bc1qqrp39satjv7ypx49q03437r4kwsnxpqr94p738 hdkeypath=m/0'/0'/290'
KwDuVUDeS7F1HMRYiFwz7k1zquLsqwgTg4Ywu97PgUidD15er7v8 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq9sw3zz03lslr83v5jt02r3hhm8vmx7zqkgxcz hdkeypath=m/0'/0'/713'
L1Z6nLWgLUeLJZXdepwBptiBppxDaNMszB4dSWvkPTXkTDo3N1or 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq8x6ym7mwdjphqh6ae8yj8qw0z9875n8mrl9tq hdkeypath=m/0'/0'/672'


I can still import those WIF private keys using the "p2wpkh-p2sh:" prefix like this:
Code:
p2wpkh-p2sh:KysRpRgfFZxfnMWFAhzhXGH65fnFLvp3iJ5is2NX8qsftWWogVHd
p2wpkh-p2sh:KwDuVUDeS7F1HMRYiFwz7k1zquLsqwgTg4Ywu97PgUidD15er7v8
p2wpkh-p2sh:L1Z6nLWgLUeLJZXdepwBptiBppxDaNMszB4dSWvkPTXkTDo3N1or



And Electrum will generate them as "3-type" addresses:


jr. member
Activity: 43
Merit: 7

OK, thanks, trying to locat the pvt key for my address in the ouput dumpwallet file gets me only a line with this redeem script
starting with

0014..............

So where is the pvt key in the dump file for the address?




-snip-
I clearly remember not having this issue in earlier versions.
 Any idea where I Can download the older releases?
Here: https://bitcoincore.org/en/releases/

what format are pvt keys starting with

0014
Those aren't private keys but mostly likely "redeem scripts" of your P2SH addresses.
If you're going to sweep to Electrum, pasting the private key of the address with p2wpkh-p2sh: before the key should work.
jr. member
Activity: 43
Merit: 7
Thanks for the detailed info. yes I sort of figured this path...but your info is helpful and clear to me as guide for my reamaining keys. Thanks so much for the effort and time, very much appreciated.

what format are pvt keys starting with

0014

I want to sweep these remain keys with some balance in them..but still cant get these out of core wallet in a transaction.
I want to sweep them into electrum but can find what format are they?
Perhaps a worked example will help demonstrate things slightly easier... when you do the dumpwallet in Bitcoin Core, you will receive a text file that looks something like this at the top:
Code:
# Wallet dump created by Bitcoin v0.21.0
# * Created on 2021-05-06T20:36:15Z
# * Best block at time of backup was 0 (000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f),
#   mined on 2009-01-03T18:15:05Z

# extended private masterkey: xprv9s21ZrQH143K3sXtTbREX6etUygbEAdZvbAcf9G893efunoDMEfYdrQDjmkGTqWMkj3CShGj2KFSDy4KnQLfsuZj3hQNuii7j3ykNVEb4i7

KysRpRgfFZxfnMWFAhzhXGH65fnFLvp3iJ5is2NX8qsftWWogVHd 2021-04-17T03:53:24Z reserve=1 # addr=bc1qqrp39satjv7ypx49q03437r4kwsnxpqr94p738 hdkeypath=m/0'/0'/290'
KwDuVUDeS7F1HMRYiFwz7k1zquLsqwgTg4Ywu97PgUidD15er7v8 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq9sw3zz03lslr83v5jt02r3hhm8vmx7zqkgxcz hdkeypath=m/0'/0'/713'
L1Z6nLWgLUeLJZXdepwBptiBppxDaNMszB4dSWvkPTXkTDo3N1or 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq8x6ym7mwdjphqh6ae8yj8qw0z9875n8mrl9tq hdkeypath=m/0'/0'/672'
...

and then about halfway down the file... the format will change to something like this:
Code:
...
L3dchw79ZyrPxvi85ujnrE3MQJzP4VCk4qrLQGqepHvAeFCXzUAv 2021-05-02T00:34:58Z reserve=1 # addr=bc1qu3e3xacqe0kjzrtq2p7jxtw9q83vlqvwctlpgt hdkeypath=m/0'/0'/1004'

0014b8661d5cc456b8e540600ffa8e51c6fffae4126f 0 script=1 # addr=31hGNmRu2vPRBK39BVKGCkJHasxUrKDe6i
0014213df6e25c0eb07482e378390ac71ac32e5fbcd3 0 script=1 # addr=31iV72rvQP68j7Fw5bC1HfiktEqyEWSdVe
00143a891a3850f0e1191e65b9807e13b88593cef356 0 script=1 # addr=31iyv6J7MrNBgpEAqQjpxLtdz64CyYqHow
0014071d27b5d13ba1526cfcad6cd5f8ab9767242c3a 0 script=1 # addr=31jX71XANGb63uK4JA2WCt3PomJn6GLppc
0014b6bec2d025a2f09d062b1eedabb914f764e07b11 0 script=1 # addr=31mqVD6fnpUp822H4cuizDNxWhWPYbim8j
0014110d9569de104f68802ab915a570c365baf3db9c 0 script=1 # addr=31nf63rr8NJY9gQUxjk89uJU5qkEpzsmwe
00143307bd876ac38e9f496b75bb55dfcf79a36efdc7 0 script=1 # addr=31pBvcAgFLocUotrjNoMnYsoLAGDyfJFf4
0014fb27c6b8e0fd067d94875edb9aab9caa1c1ce992 0 script=1 # addr=31pWZCNLZSXgEaRAZZMaFDXoagje9o3UNF
...


The 0014 "keys" are not actually keys, as nc50lc noted, they are redeem scripts for your "P2SH" addresses... And, for the purposes of importing to Electrum, they are not required. The standard WIF private keys in the top half are all that you need to shift to Electrum:

So, as I'm sure you're aware... you use the "Import Bitcoin address or private keys" option:



If you click the "info" button, it will give you some guidance as to which "prefix" you need to use with the WIF private key to generate the address you require:



as you can see... to generate:
- the old style legacy addresses ("1"-type), you use p2pkh
- Nested Segwit ("3"-type), you use p2wpkh-p2sh
- Native Segwit ("bc1"-type), you use p2wpkh


So, you can either create separate wallets for each type:
=>


=>


Or, you can just create one wallet with all the different types in it:
=>


NOTE: I didn't import the old school legacy (p2pkh) addresses simply because I was in a rush Tongue
HCP
legendary
Activity: 2086
Merit: 4363
what format are pvt keys starting with

0014

I want to sweep these remain keys with some balance in them..but still cant get these out of core wallet in a transaction.
I want to sweep them into electrum but can find what format are they?
Perhaps a worked example will help demonstrate things slightly easier... when you do the dumpwallet in Bitcoin Core, you will receive a text file that looks something like this at the top:
Code:
# Wallet dump created by Bitcoin v0.21.0
# * Created on 2021-05-06T20:36:15Z
# * Best block at time of backup was 0 (000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f),
#   mined on 2009-01-03T18:15:05Z

# extended private masterkey: xprv9s21ZrQH143K3sXtTbREX6etUygbEAdZvbAcf9G893efunoDMEfYdrQDjmkGTqWMkj3CShGj2KFSDy4KnQLfsuZj3hQNuii7j3ykNVEb4i7

KysRpRgfFZxfnMWFAhzhXGH65fnFLvp3iJ5is2NX8qsftWWogVHd 2021-04-17T03:53:24Z reserve=1 # addr=bc1qqrp39satjv7ypx49q03437r4kwsnxpqr94p738 hdkeypath=m/0'/0'/290'
KwDuVUDeS7F1HMRYiFwz7k1zquLsqwgTg4Ywu97PgUidD15er7v8 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq9sw3zz03lslr83v5jt02r3hhm8vmx7zqkgxcz hdkeypath=m/0'/0'/713'
L1Z6nLWgLUeLJZXdepwBptiBppxDaNMszB4dSWvkPTXkTDo3N1or 2021-04-17T03:53:24Z reserve=1 # addr=bc1qq8x6ym7mwdjphqh6ae8yj8qw0z9875n8mrl9tq hdkeypath=m/0'/0'/672'
...

and then about halfway down the file... the format will change to something like this:
Code:
...
L3dchw79ZyrPxvi85ujnrE3MQJzP4VCk4qrLQGqepHvAeFCXzUAv 2021-05-02T00:34:58Z reserve=1 # addr=bc1qu3e3xacqe0kjzrtq2p7jxtw9q83vlqvwctlpgt hdkeypath=m/0'/0'/1004'

0014b8661d5cc456b8e540600ffa8e51c6fffae4126f 0 script=1 # addr=31hGNmRu2vPRBK39BVKGCkJHasxUrKDe6i
0014213df6e25c0eb07482e378390ac71ac32e5fbcd3 0 script=1 # addr=31iV72rvQP68j7Fw5bC1HfiktEqyEWSdVe
00143a891a3850f0e1191e65b9807e13b88593cef356 0 script=1 # addr=31iyv6J7MrNBgpEAqQjpxLtdz64CyYqHow
0014071d27b5d13ba1526cfcad6cd5f8ab9767242c3a 0 script=1 # addr=31jX71XANGb63uK4JA2WCt3PomJn6GLppc
0014b6bec2d025a2f09d062b1eedabb914f764e07b11 0 script=1 # addr=31mqVD6fnpUp822H4cuizDNxWhWPYbim8j
0014110d9569de104f68802ab915a570c365baf3db9c 0 script=1 # addr=31nf63rr8NJY9gQUxjk89uJU5qkEpzsmwe
00143307bd876ac38e9f496b75bb55dfcf79a36efdc7 0 script=1 # addr=31pBvcAgFLocUotrjNoMnYsoLAGDyfJFf4
0014fb27c6b8e0fd067d94875edb9aab9caa1c1ce992 0 script=1 # addr=31pWZCNLZSXgEaRAZZMaFDXoagje9o3UNF
...


The 0014 "keys" are not actually keys, as nc50lc noted, they are redeem scripts for your "P2SH" addresses... And, for the purposes of importing to Electrum, they are not required. The standard WIF private keys in the top half are all that you need to shift to Electrum:

So, as I'm sure you're aware... you use the "Import Bitcoin address or private keys" option:



If you click the "info" button, it will give you some guidance as to which "prefix" you need to use with the WIF private key to generate the address you require:



as you can see... to generate:
- the old style legacy addresses ("1"-type), you use p2pkh
- Nested Segwit ("3"-type), you use p2wpkh-p2sh
- Native Segwit ("bc1"-type), you use p2wpkh


So, you can either create separate wallets for each type:
=>


=>


Or, you can just create one wallet with all the different types in it:
=>


NOTE: I didn't import the old school legacy (p2pkh) addresses simply because I was in a rush Tongue
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
If I can see the issue again I am willing to hand over one of the private keys to any core developer who wants to dig in to the issue...but not sure how to connect with them?

Please don't do this. It is very easy for a thief to impersonate a core dev, or anybody, online, and also the site or email service you transmit the private key through might be bugged, and this is called a man in the middle attack and somebody with access to the service could also steal the private key.

So you should hold on to it yourself.



It appears that your unbroadcasted transaction is paying a fee of a little over 20 sats/vbyte. Perhaps if you increase this fee then nodes will not drop it.

You can also try clearing your mempool by stopping Core, deleting the mempool.dat file inside the bitcoin folder, and then launch it again with -zapwallettxes option if you have Core < 0.21 or start it with no options and then run the abandontransaction RPC call for Core == 0.21. This should delete your transaction from your mempool since it doesn't seem to have been broadcasted to other nodes yet.
jr. member
Activity: 43
Merit: 7
Hi Mods,

I am going to retry the problem use case again this weekend.
If I can see the issue again I am willing to hand over one of the private keys to any core developer who wants to dig in to the issue...but not sure how to connect with them?
Any help I can get on that?

Thanks
legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
-snip-
I clearly remember not having this issue in earlier versions.
 Any idea where I Can download the older releases?
Here: https://bitcoincore.org/en/releases/

what format are pvt keys starting with

0014
Those aren't private keys but mostly likely "redeem scripts" of your P2SH addresses.
If you're going to sweep to Electrum, pasting the private key of the address with p2wpkh-p2sh: before the key should work.
jr. member
Activity: 43
Merit: 7
yes I have swept the keys out form core in to electrum in separate sets.
Noting great shows up in the debug logs either.

May be if I get time I can try to simulate this scenario in testnet.
I have the wallet I may have to send some btc to those addresses and try to create a send transaction combined.

or I can try with ver 0.19 or 0.18.  and see if it goes through.

I clearly remember not having this issue in earlier versions.
 Any idea where I Can download the older releases?

The steps I did are simple:
1. create a send
2. drop in the target address bcxxxxx
2. click MAX button
4. send.....

So the MAX request would include all types of address in the inputs definitely.



what format are pvt keys starting with

0014

I want to sweep these remain keys with some balance in them..but still cant get these out of core wallet in a transaction.
I want to sweep them into electrum but can find what format are they?

[moderator's note: consecutive posts merged]
HCP
legendary
Activity: 2086
Merit: 4363
Yeah... Bitcoin Core works with Legacy (P2PKH), Nested Segwit (P2SH-P2WPKH) and Native Segwit (P2WPKH) all at the same time without issue... my current wallet.dat has all 3 types in it... and I certainly don't have problems sending anything. I even sent a transaction today.

There must have been something peculiar to your specific setup that was preventing the transaction from being sent... either your node or the wallet itself was in some state that was preventing it from broadcasting the transaction to an external node.

Did you attempt to broadcast the transaction using an external service as suggested above? If that worked, it would have ruled out issues with the transaction itself... or highlighted issues with the transaction, if it didn't.

I guess we're not likely to find out given that it sounds like you have since moved the private keys (or coins) to Electrum and then sent from there... Undecided
legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
I think I figured out the problem. This is fuc#$% up.

Bitcoin core 0.21.0 had addresses that were base58 (P2SH) and BECH32 (P2WPKH)
In this combined state it cannot broadcast a send. Is this normal?
No, there shouldn't be any problem with mixed address types, it's completely unrelated.

If it wasn't the config that I've mentioned before, it must be your mempool's fault that your transaction wasn't broadcast.
Maybe because it's still in the previous state when it's has a very huge size when you created the transaction, or the inputs you've used were currently dropped, or various transaction rejection reasons.
jr. member
Activity: 43
Merit: 7
I think I figured out the problem. This is fuc#$% up.

Bitcoin core 0.21.0 had addresses that were base58 (P2SH) and BECH32 (P2WPKH)
In this combined state it cannot broadcast a send. Is this normal?

I had to dump them out of core and sweep them in two separate sets
separately using electrum. one set for base58 (P2SH) and another for BECH32 (P2WPKH).

Is this a core bug?

PS: Thanks to you guys for paying attention to my issue. Very much appreciated.
HCP
legendary
Activity: 2086
Merit: 4363
Indeed... usually if it is not accepted by the external node when broadcasting, you will receive some sort of error message.

Attempting to rebroadcast the transaction manually from the console using sendrawtransaction should either get it going or at least return an error message that will hopefully give some indication as to why it's failing.

Alternatively, the OP could try and cancel/abandon the transaction given that it hasn't been successfully broadcast, and then they could just try and create/send the transaction again from the GUI.
legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
Transaction fee is over 10sat/vB, it's weird that it wasn't successfully broadcast, yet it's saved in the wallet.
Do you have any config in your bitcoin.conf file like: walletbroadcast=0 or blocksonly=1?
Because either of the two can result with that "not in memory pool" issue and will persist to your next transactions.

For that particular transaction, the solution is already covered by the previous replies.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
The result must be your raw transaction copy them and go here https://coinb.in/#broadcast or https://www.viabtc.com/tools/broadcast
Paste them then broadcast.

It will show on the block explorer once you broadcasted it.
Should be done through Tor with some privacy precautions being done at least. It is possible to be tracked when submitting the transaction.

I would normally recommend doing this as it's far more reliable than using your client but you do need to give up quite a bit of privacy when doing so. Would recommend to just troubleshoot Bitcoin Core and see what's going on. This usually shouldn't happen with Bitcoin Core.
legendary
Activity: 3472
Merit: 3217
Playbet.io - Crypto Casino and Sportsbook
If you are in hurry or broadcasting the raw transaction on Bitcoin core still doesn't work then your best option is to get the raw transaction and broadcast them on any broadcasting sites.

To get the raw transaction use this command in the Bitcoin core console

Code:
getrawtransaction "txid"

Also, I think you can also get the raw transaction through GUI, open your unconfirmed transaction and then right-click and look for "Copy raw transaction".
 

The result must be your raw transaction copy them and go here https://coinb.in/#broadcast or https://www.viabtc.com/tools/broadcast
Paste them then broadcast.

It will show on the block explorer once you broadcasted it.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
What do I replace it with? The transaction ID?
DO I replace the 02000000000
or 02000000000101593667

@ranochigo

No. You're supposed to replace the string with the raw transaction that you've copied to the clipboard. If you followed the steps that I've described, you should have copied the raw transaction to the clipboard already. Pasting the string after sendrawtransaction should suffice.

This will make your client rebroadcast your transaction to your peers. Since you're using Tails, I doubt you want to give up any part of your privacy or else, simply pasting the string into blockchair.com/broadcast works as well.
jr. member
Activity: 43
Merit: 7
Go to your transaction history, right click on this transaction and press "Copy Raw Transaction".

Go to Window>Console and type in the following format:
Code:
sendrawtransaction 02000000000101593667ff1dab2db89187f86516f02c8be82cef4bd0263e2a86b585936e5c46072f00000000fdffffff02a08601000000000017a914cd1b794d70d6e22a9021fbfdc15a87e22836c99987a4b037000000000016001489e3eb9b249bc3f4bfdde6ad8f2623276fba2fb5024730440220096f5c202b2773470ad1a59b809a1c24d88e2892ad20bc7325b9dfc8ea216eb402202cb2c8cf7bf3423857c79124bebc5c524864cd395fd674c3cbdcccff3dd2a2de012102c4d46568c7cdf547a92c870f8b245265a90e2c1ed44e027cbb2e3572ad9a6d7d372a0a00

Replace the long string (02000...) with the one that you've copied.
What do I replace it with? The transaction ID?
DO I replace the 02000000000
or 02000000000101593667

@ranochigo
sendrawtransaction 02000000000101593667ff1dab2db89187f86516f02c8be82cef4bd0263e2a86b585936e5c46072 f00000000fdffffff02a08601000000000017a914cd1b794d70d6e22a9021fbfdc15a87e22836c9 9987a4b037000000000016001489e3eb9b249bc3f4bfdde6ad8f2623276fba2fb50247304402200 96f5c202b2773470ad1a59b809a1c24d88e2892ad20bc7325b9dfc8ea216eb402202cb2c8cf7bf3 423857c79124bebc5c524864cd395fd674c3cbdcccff3dd2a2de012102c4d46568c7cdf547a92c8 70f8b245265a90e2c1ed44e027cbb2e3572ad9a6d7d372a0a00
jr. member
Activity: 43
Merit: 7
I am running this on TAILS OS.
Do you think that is the problem?
No.
Arnt this suppose to work over TOR? I am able to get peers connected.
Yes. It should work. Do you get any thing after running the commands as I've said?

I will try after my workday and let you know. Stuck slaving for the Boss right now. :-)
What does that command do?
Pages:
Jump to: