These patches also don't do what they claim to do— they'll still apply fees in some cases. (Though at least thats a good thing)
Of course, it wasn't my intention for the patch to remove ALL fees. It only removes the necessity of paying the fee which started around 0.3.23.
It reverts the client behavior to the one from 0.3.20.
I'm not quite happy with that, why not eliminate forced transaction fees altogether?
Here's the patch I use:
--- main.h 2012-02-18 14:00:22.008162091 +0100
+++ main.h 2012-02-18 14:00:22.008162091 +0100
@@ -35,8 +35,8 @@
static const int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
static const int64 COIN = 100000000;
static const int64 CENT = 1000000;
-static const int64 MIN_TX_FEE = 50000;
-static const int64 MIN_RELAY_TX_FEE = 10000;
+static const int64 MIN_TX_FEE = 0; // Changed by dani147624
+static const int64 MIN_RELAY_TX_FEE = 0; // Changed by dani147624
static const int64 MAX_MONEY = 21000000 * COIN;
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
static const int COINBASE_MATURITY = 100;
@@ -568,6 +568,8 @@
int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) const
{
+ // Changes by dani147624: this should now check what the minimum fee would be, and then return 0 anyway.
+
// Base fee is either MIN_TX_FEE or MIN_RELAY_TX_FEE
int64 nBaseFee = (mode == GMF_RELAY) ? MIN_RELAY_TX_FEE : MIN_TX_FEE;
@@ -602,13 +604,14 @@
if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2)
{
if (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
- return MAX_MONEY;
+ return 0; // Changed by dani147624
+
nMinFee *= MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
}
if (!MoneyRange(nMinFee))
nMinFee = MAX_MONEY;
- return nMinFee;
+ return 0; // Changed by dani147624
}
I'm waiting for a transaction created with this to be confirmed, but have had little luck in the last 2 days. It's input has many transactions (maybe 20-40) of newly generated coins (from p2pool) and it's output has 1 BTC plus some change. I hope it will get included in a block once. (It would take quite some months for me to mine it with my 160 MH/s.) Details of transaction:
"account" : "",
"address" : "1AaTGqfaGhuqUq8Eaq6dmLsDjEFjtwGkQA",
"category" : "send",
"amount" : -1.00000000,
"fee" : 0.00000000,
"confirmations" : 0,
"txid" : "ded01bdef405f10258d4bb180f79680f83023e8c179d3e165f4a2db268fa34fb",
"time" : 1329412273
I did manage to get about a thousand 1 satoshi, no fee transactions into the testnet blockchain with it, but I had to mine the block myself.