# Gavin Andresen # 2012-11-02 18:10:52 # https://bitcointalk.org/index.php?topic=122079.msg1313405#msg1313405 The relevant settings and their default values for recent versions of bitcoind are: @p{par} Code: Maximum size, in bytes, of blocks you create: @p{brk} blockmaxsize=250000 @p{par} How many bytes of the block should be dedicated to high-priority transactions, @p{brk} included regardless of the fees they pay @p{brk} blockprioritysize=27000 @p{par} Minimum block size you want to create; block will be filled with free transactions @p{brk} until there are no more or the block reaches this size: @p{brk} blockminsize=0 @p{par} Fee-per-kilobyte amount (in BTC) considered the same as "free" @p{brk} Be careful setting this: if you set it to zero then @p{brk} a transaction spammer can cheaply fill blocks using @p{brk} 1-satoshi-fee transactions. It should be set above the real @p{brk} cost to you of processing a transaction. @p{brk} mintxfee=0.0005 @p{brk} @p{brk} So if you set blockprioritysize=0, you will only accept fee-paying transactions. @p{par} If you only want to accept 500 or so transactions, set the blocksize to 500 * average transaction size (400 bytes or so) = 200000 @p{par} The rules for filling up the block are: @p{par} First, take the highest priority transactions (regardless of fee) and fill up the block to blockprioritysize. (if blockprioritysize is zero, then this step does not apply) @p{par} Then, take the highest fee-per-kilobyte transactions and continue filling the block until either you run out of transactions with a fee-per-kilobyte greater than mintxfee or the block would be larger than blockmaxsize. @p{par} Finally: the rules are likely to change again fairly soon so that groups of related transactions are considered together ("child pays for parent", so customers can send zero-fee transactions to merchants, who can create a child transaction with a fee when they need the transaction to be confirmed). @p{brk}