diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index e7b1f7b..263814c 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -59,10 +59,10 @@ #define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE 20000 //size of block (bytes) after which reward for block calculated using block size #define CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE 600 #define CRYPTONOTE_DISPLAY_DECIMAL_POINT 12 -// COIN - number of smallest units in one coin -#define COIN ((uint64_t)100000000) // pow(10, 8) -#define DEFAULT_FEE ((uint64_t)1000000) // pow(10, 6) - +// COIN - number of smallest units in one coin (currently unused except by tests) +#define COIN ((uint64_t)1000000000000) // pow(10, 12) +#define DEFAULT_FEE ((uint64_t)10000000000) // pow(10, 10) +#define MINIMUM_RELAY_FEE ((uint64_t)1000000) // pow(10, 6) #define ORPHANED_BLOCKS_MAX_COUNT 100 diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 6f67464..e7acae0 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -86,7 +86,7 @@ namespace cryptonote } uint64_t fee = inputs_amount - outputs_amount; - if (!kept_by_block && fee < DEFAULT_FEE) + if (!kept_by_block && fee < MINIMUM_RELAY_FEE) { LOG_ERROR("transaction fee is not enough: " << print_money(fee) << ", minumim fee: " << print_money(DEFAULT_FEE)); tvc.m_verifivation_failed = true; @@ -449,9 +449,13 @@ namespace cryptonote if (total_size > median_size) break; + // Don't mine transactions with too-low fee + if (DEFAULT_FEE > MINIMUM_RELAY_FEE && tx.second.fee < DEFAULT_FEE) + continue; + // Skip transactions that are not ready to be // included into the blockchain or that are - // missing key images + // double spends of another transaction already in the template if (!is_transaction_ready_to_go(tx.second) || have_key_images(k_images, tx.second.tx)) continue;