|
steven0021
|
|
August 29, 2016, 03:37:45 PM |
|
You can't cancel a transaction whenever you want. You can use RBF or CPFP, but cancelling is a no-no. For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. Edit: What wallet you're using? If you're using bitcoin core you can delete the transaction and wait till most of the network forgets about it before re-sending the transaction with higher fee.
|
|
|
|
huzhuzhu (OP)
Newbie
Offline
Activity: 30
Merit: 0
|
|
August 29, 2016, 03:49:30 PM |
|
Thanks.. I am using bitcoin core 0.12... Can you give like for how to delete the transaction ? You can't cancel a transaction whenever you want. You can use RBF or CPFP, but cancelling is a no-no. For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. Edit: What wallet you're using? If you're using bitcoin core you can delete the transaction and wait till most of the network forgets about it before re-sending the transaction with higher fee.
|
|
|
|
steven0021
|
|
August 29, 2016, 03:59:16 PM |
|
Thanks.. I am using bitcoin core 0.12... Can you give like for how to delete the transaction ? You can't cancel a transaction whenever you want. You can use RBF or CPFP, but cancelling is a no-no. For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. Edit: What wallet you're using? If you're using bitcoin core you can delete the transaction and wait till most of the network forgets about it before re-sending the transaction with higher fee. Go to the console and enter abandontransaction txid (replace txid with your tx) or run bitcoin-qt.exe with -zapwallettexes command. First one doesn't work in some cases for some reason. For the second method, if you're using windows refer to this post. For linux/mac open the terminal/console and enter the same thing with only difference being the directory. After that you'll have to wait sometime for nodes to drop your transaction (takes a day or two) before sending again.
|
|
|
|
Lauda
Legendary
Offline
Activity: 2674
Merit: 2965
Terminated.
|
|
August 29, 2016, 06:34:07 PM |
|
For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. AFAIK for CPFP you need to have a mining pool that has it implemented. I'm not aware of such (besides Eligius ?). -snip-
After that you'll have to wait sometime for nodes to drop your transaction (takes a day or two) before sending again.
Wouldn't it be easier to import the private key into another wallet and attempt a double spend with a high fee? This should save time.
|
"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" 😼 Bitcoin Core ( onion)
|
|
|
steven0021
|
|
August 29, 2016, 06:55:46 PM |
|
For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. AFAIK for CPFP you need to have a mining pool that has it implemented. I'm not aware of such (besides Eligius ?). -snip-
After that you'll have to wait sometime for nodes to drop your transaction (takes a day or two) before sending again.
Wouldn't it be easier to import the private key into another wallet and attempt a double spend with a high fee? This should save time. Yes the only pool that have implemented CPFP is eligius (AFAIK anyway). Importing the keys and attempting a double spend won't work if the transaction is still well propagated, but I just noticed that OP's tx is already poorly propagated so it should be fine sending with other wallet or not waiting using core. Also there's another alternative method of contacting pool owners to get the tx included in a block.
|
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3486
Merit: 4851
|
|
August 29, 2016, 07:02:46 PM |
|
For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. AFAIK for CPFP you need to have a mining pool that has it implemented. I'm not aware of such (besides Eligius ?). Isn't CPFP built into Core now (as of 0.13.0)? See here: - snip -
Mining transaction selection ("Child Pays For Parent")
The mining transaction selection algorithm has been replaced with an algorithm that selects transactions based on their fee rate inclusive of unconfirmed ancestor transactions. This means that a low-fee transaction can become more likely to be selected if a high-fee transaction that spends its outputs is relayed.
- snip -
0.13.0 Change log
This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
- snip -
Mining
- snip -
- - #7600 `66db2d6` Select transactions using feerate-with-ancestors (sdaftuar)
- snip -
Go to the console and enter abandontransaction txid (replace txid with your tx) or run bitcoin-qt.exe with -zapwallettexes command. -snip-
Wouldn't it be easier to import the private key into another wallet and attempt a double spend with a high fee? This should save time. Why would it be faster to do all of the following than just running "abandontransaction" or "bitcoin-qt.exe with -zapwallettexes command line option"? - Find and export the necessary private key
- Set up a whole new wallet
- Import the necessary private key
|
|
|
|
Lauda
Legendary
Offline
Activity: 2674
Merit: 2965
Terminated.
|
|
August 29, 2016, 07:06:41 PM |
|
Isn't CPFP built into Core now (as of 0.13.0)?
It does seem like it, although there is no way to know for sure which miners supports it (at this time). Why would it be faster to do all of the following than just running "abandontransaction" or "bitcoin-qt.exe with -zapwallettexes command line option"? - Find and export the necessary private key
- Set up a whole new wallet
- Import the necessary private key
Doesn't the user have to wait for the network to 'forget' about the transaction before sending another one with a higher fee? Exporting the key into a new wallet doesn't take that much time, importing it just takes a while (at least on Core).
|
"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" 😼 Bitcoin Core ( onion)
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3486
Merit: 4851
|
|
August 29, 2016, 09:17:01 PM |
|
Doesn't the user have to wait for the network to 'forget' about the transaction before sending another one with a higher fee?
The user doesn't "have to", but it's usually a good idea. If you create a new transaction (with the same wallet OR after importing to a new wallet) that uses the same inputs, then any node on the network that still remembers the old transaction will simply refuse to accept and relay your new transaction. Importing into a new wallet doesn't solve this problem. The rest of the network doesn't know (or care) that you are using a new wallet. They will still continue to ignore the new transaction if they still remember the old transaction. Exporting the key into a new wallet doesn't take that much time, importing it just takes a while (at least on Core).
Are either of them (exporting or importing) faster or easier than abandontransaction (is this newbie user "huzhuzhu" even likely to know which private key to export)? That's what you seem to have stated and what I've asked for your reasoning about.
|
|
|
|
Lauda
Legendary
Offline
Activity: 2674
Merit: 2965
Terminated.
|
|
August 29, 2016, 09:22:18 PM |
|
If you create a new transaction (with the same wallet OR after importing to a new wallet) that uses the same inputs, then any node on the network that still remembers the old transaction will simply refuse to accept and relay your new transaction.
Interesting. What about nodes that have don't have/remember the old transaction due to inadequate fees and/or other reasons? Starting with 0.13.0 nodes won't even relay TX's to others nodes if they don't meet their minrelayfee criteria (AFAIK). Are either of them (exporting or importing) faster or easier than abandontransaction (is this newbie user "huzhuzhu" even likely to know which private key to export)? That's what you seem to have stated and what I've asked for your reasoning about.
I was referring to "faster" than abandoning it and waiting for the network to 'forget about it' (this is why I quoted the part with "(takes a day or two)"). However, it is most certainly not faster than just using abandontransaction. It is actually much slower.
|
"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" 😼 Bitcoin Core ( onion)
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3486
Merit: 4851
|
|
August 29, 2016, 09:34:56 PM Last edit: August 29, 2016, 10:16:35 PM by DannyHamilton |
|
If you create a new transaction (with the same wallet OR after importing to a new wallet) that uses the same inputs, then any node on the network that still remembers the old transaction will simply refuse to accept and relay your new transaction.
Interesting. What about nodes that have don't have/remember the old transaction due to inadequate fees and/or other reasons? Starting with 0.13.0 nodes won't even relay TX's to others nodes if they don't meet their minrelayfee criteria (AFAIK). Nodes don't care what wallet you are using when deciding whether to relay a transaction. There is no difference between sending a new transaction with the same wallet or sending it after importing into a new wallet. If you have to wait after abandontransaction, then you also have to wait after importing into a new wallet. If you don't have to wait after importing into a new wallet, then you don't have to wait after abandontransaction. There is nothing about exporting and importing into a new wallet that makes it faster or easier. If a node doesn't remember your old transaction, then they will accept and rebroadcast your new transaction (assuming it is valid and has an adequate fee). This is true if you abandontransaction and is true if you export and import. The reason that the node doesn't remember your old transaction doesn't matter. Maybe they don't remember it because they didn't like the fee and never accepted it into memory, maybe they don't remember it because it has been a long time and they've cleared it out of memory to make room for a new transaction. The end effect is the same. If they don't remember the old transaction, they'll relay the new one. If they do remember to old transaction, they won't relay the new one. Are either of them (exporting or importing) faster or easier than abandontransaction (is this newbie user "huzhuzhu" even likely to know which private key to export)? That's what you seem to have stated and what I've asked for your reasoning about.
I was referring to "faster" than abandoning it and waiting for the network to 'forget about it' (this is why I quoted the part with "(takes a day or two)"). However, it is most certainly not faster than just using abandontransaction. It is actually much slower. But my point is that it ISN'T faster. If you have to wait for the network to 'forget about it' and it "(takes a day or two)" after abandontransaction, then you ALSO have to wait for the network to 'forget about it' and it "(takes a day or two)" after importing into a new wallet.
|
|
|
|
Lauda
Legendary
Offline
Activity: 2674
Merit: 2965
Terminated.
|
|
August 29, 2016, 09:42:34 PM |
|
Nodes don't care what wallet you are using when deciding whether to relay a transaction. There is no difference to sending a new transaction with the same wallet or sending it after importing into a new wallet.
I never claimed otherwise though. I think this should be clear to most of the Bitcoin users (or atleast I hope so). If you have to wait after abandontransaction, then you also have to wait after importing into a new wallet. If you don't have to wait after importing into a new wallet, then you don't have to wait after abandontransaction.
This was the key error in my rationalization (I disregarded the waiting time after importing). If a node doesn't remember your old transaction, then they will accept and rebroadcast your new transaction (assuming it is valid and has an adequate fee). This is true if you abandontransaction and is true if you export and import. The reason that the node doesn't remember your old transaction doesn't matter. Maybe they don't remember it because they didn't like the fee and never accepted it into memory, maybe they don't remember it because it has been a long time and they've cleared it out of memory to make room for a new transaction.
But my point is that it ISN'T faster.
If you have to waiting for the network to 'forget about it' and it "(takes a day or two)" after abandontransaction, then you ALSO have to wait for the network to 'forget about it' and it "(takes a day or two)" after importing into a new wallet.
This viewpoint has made me learn something new today. Thank you for this explanation. I see the error in my thought process as I completely disregarded some aspects when comparing the two options. I don't even know when 'abandontransaction' was added (there seems to be a commit in 0.13.0 for it). The old method of exporting/importing is definitely redundant and slow in comparison to this.
|
"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" 😼 Bitcoin Core ( onion)
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3486
Merit: 4851
|
|
August 29, 2016, 10:12:41 PM |
|
Nodes don't care what wallet you are using when deciding whether to relay a transaction. There is no difference to sending a new transaction with the same wallet or sending it after importing into a new wallet.
I never claimed otherwise though. I think this should be clear to most of the Bitcoin users (or atleast I hope so). And yet that's exactly what you said: See here: - snip - into another wallet - snip - This should save time.
If you have to wait after abandontransaction, then you also have to wait after importing into a new wallet. If you don't have to wait after importing into a new wallet, then you don't have to wait after abandontransaction.
This was the key error in my rationalization (I disregarded the waiting time after importing). Yes. That's the point I've been trying to make here. There is nothing "faster" or "easier" about starting over with a brand new wallet and exporting private keys from your old wallet and importing them into the new wallet. It is an option, and if done correctly it would work, but it is "more difficult" and "slower". If you had suggested it saying that it is a more difficult, slower, and riskier option, I probably wouldn't have ever gotten involved in this thread. This viewpoint has made me learn something new today. Thank you for this explanation. I see the error in my thought process as I completely disregarded some aspects when comparing the two options.
Glad I could help. I don't even know when 'abandontransaction' was added (there seems to be a commit in 0.13.0 for it).
I believe it was first added in 0.12.0: See here: Bitcoin Core version 0.12.0 is now available - snip - - #7312 `fd4bd50` Add RPC call abandontransaction (Alex Morcos) - snip -
The old method of exporting/importing is definitely redundant and slow in comparison to this.
Correct.
|
|
|
|
Decoded
Legendary
Offline
Activity: 1232
Merit: 1030
give me your cryptos
|
|
August 31, 2016, 11:09:22 PM |
|
What I don't get it why you published the transaction. Some dickgead couldmore easily that not just get the Hex transaction from blockchain and keep rebroadcasting it...
|
looking for a signature campaign, dm me for that
|
|
|
huzhuzhu (OP)
Newbie
Offline
Activity: 30
Merit: 0
|
|
September 01, 2016, 04:21:10 PM |
|
I have tried your suggestion by using "run bitcoin-qt.exe with -zapwallettexes" . After it finished , I found pending translation was disappear but my wallet is short around 4.84802738 BTC ...... ?? any idea how i can get my missing BTC back to my wallet? ? https://blockchain.info/address/1JvYyMcpL12zZrspX4PXRy54BCsTfAyWXMhttps://blockchain.info/tx/0d214e4818a606d0255564556c5b3b9424e1d6dad177823ba935f8253b952663Thanks.. I am using bitcoin core 0.12... Can you give like for how to delete the transaction ? You can't cancel a transaction whenever you want. You can use RBF or CPFP, but cancelling is a no-no. For CPFP you'll have to send the change output with higher fee. For RBF I'm not entirely sure (haven't tested) but there's someone have a tool for it on this thread. Edit: What wallet you're using? If you're using bitcoin core you can delete the transaction and wait till most of the network forgets about it before re-sending the transaction with higher fee. Go to the console and enter abandontransaction txid (replace txid with your tx) or run bitcoin-qt.exe with -zapwallettexes command. First one doesn't work in some cases for some reason. For the second method, if you're using windows refer to this post. For linux/mac open the terminal/console and enter the same thing with only difference being the directory. After that you'll have to wait sometime for nodes to drop your transaction (takes a day or two) before sending again.
|
|
|
|
steven0021
|
|
September 01, 2016, 06:22:48 PM |
|
That's quite a specific amount, how do you know that exactly 4.84802738btc is missing? Does it show that amount anywhere? That's the amount of the input of the transaction and it shouldn't have disappeared because it's already confirmed.
|
|
|
|
huzhuzhu (OP)
Newbie
Offline
Activity: 30
Merit: 0
|
|
September 01, 2016, 06:52:30 PM |
|
I used to have 4.84802738btc in my wallet . sent 2.1btc with no fee and rest 2.74 was showing as pending. after using -zapwallettexes , my wallet is showing 0 now.. you can check my transaction like and I am wondering where the BTC went .... That's quite a specific amount, how do you know that exactly 4.84802738btc is missing? Does it show that amount anywhere? That's the amount of the input of the transaction and it shouldn't have disappeared because it's already confirmed.
|
|
|
|
steven0021
|
|
September 01, 2016, 07:24:52 PM |
|
I used to have 4.84802738btc in my wallet . sent 2.1btc with no fee and rest 2.74 was showing as pending. after using -zapwallettexes , my wallet is showing 0 now..
you can check my transaction like and I am wondering where the BTC went ....
That transaction and address is the same ones you posted on the OP so I'm not sure what I'm supposed to make of them. Try doing a rescan if it works (same way as -zapwallettxes but replace it with -rescan). Might not work because zapwallettxes do a rescan after deleting transactions but it's worth a try. If that doesn't work you'll need to import your address to another wallet (I recommend electrum for this) and send from there. To get the private key for importing, go to "Help>Debug window> Console" and type dumpprivkey XXX. If your wallet is encrypted, enter walletpassphrase YYY 300 before dumping. Replace XXX with your address and YYY with your passphrase.
|
|
|
|
cr1776
Legendary
Offline
Activity: 4228
Merit: 1313
|
|
September 01, 2016, 07:46:30 PM |
|
And make sure you have a backup or two of your wallet.dat file just to be safe.
|
|
|
|
huzhuzhu (OP)
Newbie
Offline
Activity: 30
Merit: 0
|
|
September 01, 2016, 07:46:52 PM |
|
Thanks.. I will try it .. but where is my 2.1BTC goes .. will it return back to my wallet https://blockchain.info/address/1JvYyMcpL12zZrspX4PXRy54BCsTfAyWXMI used to have 4.84802738btc in my wallet . sent 2.1btc with no fee and rest 2.74 was showing as pending. after using -zapwallettexes , my wallet is showing 0 now..
you can check my transaction like and I am wondering where the BTC went ....
That transaction and address is the same ones you posted on the OP so I'm not sure what I'm supposed to make of them. Try doing a rescan if it works (same way as -zapwallettxes but replace it with -rescan). Might not work because zapwallettxes do a rescan after deleting transactions but it's worth a try. If that doesn't work you'll need to import your address to another wallet (I recommend electrum for this) and send from there. To get the private key for importing, go to "Help>Debug window> Console" and type dumpprivkey XXX. If your wallet is encrypted, enter walletpassphrase YYY 300 before dumping. Replace XXX with your address and YYY with your passphrase.
|
|
|
|
|