Title: [PULL] More configurable fee schedule and clearer fees
Post by: Matt Corallo on May 31, 2011, 08:33:19 PM
I wrote up what I think should be acceptable to make fees clearer and easier to manage. https://github.com/TheBlueMatt/bitcoin/commits/feefix (https://github.com/TheBlueMatt/bitcoin/commits/feefix). It is separated into 3 commits as follows: Make the fee error/dialog messages much clearer.
Update fee policy to be much more customizable.
This changes nTransactionFee into nBaseTransactionFee and nPerKBTransactionFee where nBaseTransactionFee is applied to each transaction once and nPerKBTransactionFee is applied per KB to each transaction.
Also, fOverrideTransactionFee has been added to allow the ignoring of GetMinFee() when creating transactions.
These can be set via command line options, rpc commands, and in the Options dialog (in a new second tab called "Transaction fees") Add setautocommit, reject transaction and committransaction.
Here is the help for setautocommit: If <autocommit> is false, the send* functions will return a txid, which must be manually committed instead of being immediately committed. Once a new transaction has been created, you can get information about it by using gettransaction <txid>. It can then be commited or rejected using committransaction <txid> or rejecttransaction <txid> respectively.
Title: Re: [PATCH][RFC] More configurable fee schedule and clearer fees
Post by: Pieter Wuille on June 01, 2011, 10:14:17 PM
These are nice ideas. Cleaner messages and dialogs are always an improvement, and the ability to inspect a transaction before sending it is really needed, i believe.
I'm not sure yet how fee calculation and prioritization should be done in the future, it's certainly good to allow users to force a particular fee when sending (after enough warning).
Title: Re: [PULL] More configurable fee schedule and clearer fees
Post by: Matt Corallo on June 02, 2011, 05:06:31 PM
Just to clarify here is how the new system looks/works: Note that no changes have been made to the default/required fees, only to how the user is presented with fees and how they can mange them. First of all, a new pane in the Options dialog has been added: http://i53.tinypic.com/2dj2flk.pngI think those are pretty clear :). Also, the transaction fee error messages have been updated to be much more clear, as you can see below: Additionally setautocommit has been added for RPC which is used as follows: matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass setautocommit false true matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass sendtoaddress miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB 10 error: {"code":-4,"message":"Based on your fee settings, this transaction requires a fee of at least 200.00, putting its total over your balance. You can change those settings in the Options dialog, or via the settxfee RPC command."} matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass setbasetxfee 0 true matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass setoverridesanetxfee true 1 matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass sendtoaddress miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB 10 49154359bab3a5530ea78093870cbca6aa18b1df766acbd126dc8aa84c342523 matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass gettransaction 49154359bab3a5530ea78093870cbca6aa18b1df766acbd126dc8aa84c342523 { "amount" : -10.00000000, "fee" : 0.00000000, "confirmations" : 0, "txid" : "49154359bab3a5530ea78093870cbca6aa18b1df766acbd126dc8aa84c342523", "time" : 0, "details" : [ { "account" : "", "address" : "miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB", "category" : "send", "amount" : -10.00000000, "fee" : 0.00000000 } ] } matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass rejecttransaction 49154359bab3a5530ea78093870cbca6aa18b1df766acbd126dc8aa84c342523 true matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass gettransaction 49154359bab3a5530ea78093870cbca6aa18b1df766acbd126dc8aa84c342523 error: {"code":-5,"message":"Invalid or non-wallet transaction id"} matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass sendtoaddress miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB 10 5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass gettransaction 5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f { "amount" : -10.00000000, "fee" : 0.00000000, "confirmations" : 0, "txid" : "5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f", "time" : 0, "details" : [ { "account" : "", "address" : "miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB", "category" : "send", "amount" : -10.00000000, "fee" : 0.00000000 } ] } matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass committransaction 5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f 5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f matt@Desktop666:~/Downloads/bitcoin/git/bitcoin/src$ ./bitcoin -rpcuser=user -rpcpassword=pass gettransaction 5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f { "amount" : -10.00000000, "fee" : 0.00000000, "confirmations" : 0, "txid" : "5247ecf60e0991dd9d85588607e0db7b6a30e22f9139c6ee7be48152a6f78d6f", "time" : 1307034266, "details" : [ { "account" : "", "address" : "miGuMc6qtVEKS6Pf1jKddaa81DeHjMzkpB", "category" : "send", "amount" : -10.00000000, "fee" : 0.00000000 } ] }
Title: Re: [PULL] More configurable fee schedule and clearer fees
Post by: error on June 03, 2011, 06:47:10 PM
Nice, but you should remove the word 'miners' and replace it with something more understandable, like 'transaction processors.'
|