Bitcoin Forum
May 25, 2024, 02:19:42 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Bitcoin Core 0.12.0 forces me to pay a certain fee.  (Read 2117 times)
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 01, 2016, 08:19:59 AM
 #1

I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.
RealMalatesta
Legendary
*
Offline Offline

Activity: 2338
Merit: 1124



View Profile
March 01, 2016, 08:26:36 AM
 #2

I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.

Well, you still can define the fee you want to send. So don't really understand your problem...
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 01, 2016, 08:38:20 AM
 #3

I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.

Well, you still can define the fee you want to send. So don't really understand your problem...

I can't. No matter what fee amount I manually set, the client is forcing me to pay another fee which is significantly lower than what it must be.
RealMalatesta
Legendary
*
Offline Offline

Activity: 2338
Merit: 1124



View Profile
March 01, 2016, 09:39:13 AM
 #4

I only can replicate this when the transaction is very small, for example 0.52 kb, so if I set the fee to 0.0001BTC, the total fee will be  0.00005210 BTC. Could it be this problem? In this case - and I agree, this is annoying - you would have to calculate the end fee by hand and then set the fee per kb. Could it be this what you mean?
calkob
Hero Member
*****
Offline Offline

Activity: 1092
Merit: 520


View Profile
March 01, 2016, 10:11:07 AM
 #5

In core you can choose a custom fee, or no fee at all, which is pointless these days hit custom button beside the fee.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 01, 2016, 10:33:12 AM
 #6

I only can replicate this when the transaction is very small, for example 0.52 kb, so if I set the fee to 0.0001BTC, the total fee will be  0.00005210 BTC. Could it be this problem? In this case - and I agree, this is annoying - you would have to calculate the end fee by hand and then set the fee per kb. Could it be this what you mean?

The transaction size is indeed very small, just under 0.3KB to be more precise. In the previous version of the Core client this was never an issue as I could add any kind of manual fee to very small transactions, and it always did what I told my client to do. It's the first time I have to deal with it.

I think I have no choice other than to go with fee the client want me to pay at this point, eventhough it might take hours and hours before these transactions get their first confirmation due to the very low included fees.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 01, 2016, 12:03:18 PM
 #7

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

Im not really here, its just your imagination.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 02, 2016, 08:55:42 AM
 #8

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 02, 2016, 12:47:45 PM
 #9

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

Im not really here, its just your imagination.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 03, 2016, 09:05:47 AM
 #10

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 03, 2016, 03:59:27 PM
 #11

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Im not really here, its just your imagination.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 04, 2016, 08:28:11 AM
 #12

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 04, 2016, 02:26:44 PM
 #13

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.

If you tell me the TX IDs you use as input, the amount in btc you want to send, the receiving addresses (including a change address if needed) and the fee you want to pay I can make you a raw TX you can decode (to confirm that it does what you want) and sign via the console.

Im not really here, its just your imagination.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 05, 2016, 11:39:25 AM
 #14

Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.

If you tell me the TX IDs you use as input, the amount in btc you want to send, the receiving addresses (including a change address if needed) and the fee you want to pay I can make you a raw TX you can decode (to confirm that it does what you want) and sign via the console.

At this point the transactions have been sent already with the forced fees.

Right now I want to send the entire balance (0.035BTC) of 12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN to 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP

And again same problem when I add a manual fee. When I tick the box send without fee, it will send it witout a fee. But when I want to include 0.0001 as fee it comes up with 0.00001XXXBTC.

I want the raw transaction to include a fee of 0.0002BTC that will be deducted from the total 0.035BTC.

Thanks for your help man. Really appreciate it.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 05, 2016, 08:22:47 PM
 #15

-snip-
At this point the transactions have been sent already with the forced fees.

Right now I want to send the entire balance (0.035BTC) of 12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN to 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP

And again same problem when I add a manual fee. When I tick the box send without fee, it will send it witout a fee. But when I want to include 0.0001 as fee it comes up with 0.00001XXXBTC.

I want the raw transaction to include a fee of 0.0002BTC that will be deducted from the total 0.035BTC.

Thanks for your help man. Really appreciate it.

Alright, lets see what we have.

This -> https://www.blocktrail.com/BTC/address/12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN/transactions/in/0
tells me that you have one unspend input here -> https://www.blocktrail.com/BTC/tx/040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83
worth 0.035 BTC.

So we have the TX ID and vout 0 (because its the 1st output of the TX and those writing code tend to start counting at 0)

Receiving address is 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP and a 0.0002 fee leaves us with 0.0348.

Putting that all together gives us[1]:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

core responds with:

Code:
0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

which is your unsigned raw transaction.

You can verify it with:

Code:
decoderawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

in order to sign it you need to unlock your wallet. Lets assume your password is 'passw0rd' and you want to unlock your wallet for 60 seconds.

Code:
walletpassphrase passw0rd 60

sign it with:

Code:
signrawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

and broadcast it to the network with:

Code:
sendrawtransaction the_hexcode_that_was_returned_after_you_signed_it



[1] If you do this with your own wallet you can just use:

Code:
listunspent 1 9999999 "[\"1address\"]"

it directly shows the TX IDs and vout to use.

Im not really here, its just your imagination.
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 06, 2016, 09:11:13 AM
 #16

-snip-

Alright, lets see what we have.

This -> https://www.blocktrail.com/BTC/address/12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN/transactions/in/0
tells me that you have one unspend input here -> https://www.blocktrail.com/BTC/tx/040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83
worth 0.035 BTC.

So we have the TX ID and vout 0 (because its the 1st output of the TX and those writing code tend to start counting at 0)

Receiving address is 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP and a 0.0002 fee leaves us with 0.0348.

Putting that all together gives us[1]:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

core responds with:

Code:
0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

which is your unsigned raw transaction.

You can verify it with:

Code:
decoderawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

in order to sign it you need to unlock your wallet. Lets assume your password is 'passw0rd' and you want to unlock your wallet for 60 seconds.

Code:
walletpassphrase passw0rd 60

sign it with:

Code:
signrawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

and broadcast it to the network with:

Code:
sendrawtransaction the_hexcode_that_was_returned_after_you_signed_it



[1] If you do this with your own wallet you can just use:

Code:
listunspent 1 9999999 "[\"1address\"]"

it directly shows the TX IDs and vout to use.

Thanks man, I managed to send the entire balance with a custom fee. I will keep this form so I can use it from now on.

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

Give me your address and I'll send you a small tip as you helped me very well.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 06, 2016, 09:34:13 AM
 #17

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

You can add other inputs as per this:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":1}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":2}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

(assuming that the same txid had three UTXOs with vout's 0, 1 and 2 that you owned - I think the format I've used above is correct but you should verify that with the createrawtransaction documentation)

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
March 06, 2016, 06:40:28 PM
 #18

-snip-
Thanks man, I managed to send the entire balance with a custom fee. I will keep this form so I can use it from now on.

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

Give me your address and I'll send you a small tip as you helped me very well.

Great, you can use the address from my profile ( 1HZG6bTazS4AApVEnJciGRWSkQk67Vwhq5 )

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

You can add other inputs as per this:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":1}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":2}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

(assuming that the same txid had three UTXOs with vout's 0, 1 and 2 that you owned - I think the format I've used above is correct but you should verify that with the createrawtransaction documentation)


Looks good except for the "." I think they have to be ",", but Im not 100% sure if not both are possible. Below is the boiler is usually use. It also has several outputs. Keep in mind to remove the "," if you only use one.

Code:
createrawtransaction
"[
{\"txid\":\"-tx id-\",\"vout\":23},
{\"txid\":\"-tx id-\",\"vout\":4}
]"
"{\"-adr-\":0.12345678,\"-adr-\":0.12345678}"

A common error that happens to me and you might look out for is that when I paste a TX ID or address I sometimes mark one of the "\" or "," which makes the entire string invalid. Its working better now that I have added the "-".

Im not really here, its just your imagination.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 07, 2016, 01:22:07 AM
 #19

Looks good except for the "." I think they have to be ",", but Im not 100% sure if not both are possible. Below is the boiler is usually use. It also has several outputs. Keep in mind to remove the "," if you only use one.

Doh - I had meant to type a comma but somehow ended up adding a full-stop (the problem with not actually testing something you post). Thanks for correcting that silly mistake.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
1Referee (OP)
Legendary
*
Offline Offline

Activity: 2170
Merit: 1427


View Profile
March 07, 2016, 10:09:34 AM
 #20

Thanks for the help, I will try out the multi input transaction when I need to send one. @shorena, small tip is sent to your profile address.

It's quite weird that Bitcoin Core is behaving like this as this is exactly what causes the mempool to fill up due to very low fee transactions. I hope it will get fixed.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!