When creating new blocks, sort 'paid' area by fee-per-kb

Modify CreateNewBlock so that instead of processing all transactions
in priority order, process the first 27K of transactions in
priority order and then process the rest in fee-per-kilobyte
order.

This is the first, minimal step towards better a better fee-handling
system for both miners and end-users; this patch should be easy
to backport to the old versions of Bitcoin, and accomplishes the
most important goal-- allow users to "buy their way in" to blocks
using transaction fees.
This commit is contained in:
Gavin Andresen
2012-07-12 14:22:32 -04:00
parent 29c8fb0d93
commit c555400ca1
2 changed files with 114 additions and 31 deletions

View File

@@ -279,6 +279,11 @@ std::string HelpMessage()
" -checkblocks=<n> " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n" +
" -checklevel=<n> " + _("How thorough the block verification is (0-6, default: 1)") + "\n" +
" -loadblock=<file> " + _("Imports blocks from external blk000?.dat file") + "\n" +
_("\nBlock creation options:\n") +
" -blockminsize=<n> " + _("Minimum size, in bytes (default: 0)\n") +
" -blockmaxsize=<n> " + _("Maximum size, in bytes (default: 250000)\n") +
" -blockprioritysize=<n> " + _("Maximum bytes of high-priority/low-fee transactions (default: 27000)\n") +
" -? " + _("This help message") + "\n";
strUsage += string() +