Post
Topic
Board Bitcoin Technical Support
Re: Configure Bitcoind to NOT relay 0 fee transactions
by
randomproof
on 23/07/2012, 15:23:50 UTC
Here is what I found after a quick check:

Look for this code in main.cpp
Code:
       // Note: if you modify this code to accept non-standard transactions, then
        // you should add code here to check that the transaction does a
        // reasonable number of ECDSA signature verifications.

        int64 nFees = tx.GetValueIn(mapInputs)-tx.GetValueOut();
        unsigned int nSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);

        // Don't accept it if it can't get into a block
        if (nFees < tx.GetMinFee(1000, true, GMF_RELAY))
            return error("CTxMemPool::accept() : not enough fees");

and change to this:

Code:
       // Note: if you modify this code to accept non-standard transactions, then
        // you should add code here to check that the transaction does a
        // reasonable number of ECDSA signature verifications.

        int64 nFees = tx.GetValueIn(mapInputs)-tx.GetValueOut();

        if (nFees == 0)
                return false;

        unsigned int nSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);

        // Don't accept it if it can't get into a block
        if (nFees < tx.GetMinFee(1000, true, GMF_RELAY))
            return error("CTxMemPool::accept() : not enough fees");