diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2018-07-19 13:39:24 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2018-07-19 13:39:24 -0500 |
| commit | 21afa71ba6d2f4e5e07dd91b69b2950820493a2c (patch) | |
| tree | a117fbb8c7f530b6264ddc944654f82b46c28664 /src/blockchain_db/blockchain_db.cpp | |
| parent | d518dae4bf094de36bdf433d2f77f084c6c00162 (diff) | |
| parent | 45e419bd5c756337635feccec388efedf04f44ac (diff) | |
| download | monzero-core-21afa71ba6d2f4e5e07dd91b69b2950820493a2c.tar.gz monzero-core-21afa71ba6d2f4e5e07dd91b69b2950820493a2c.tar.xz monzero-core-21afa71ba6d2f4e5e07dd91b69b2950820493a2c.zip | |
Merge pull request #3981
45e419b db: store cumulative rct output distribution in the db for speed (moneromooo-monero)
Diffstat (limited to 'src/blockchain_db/blockchain_db.cpp')
| -rw-r--r-- | src/blockchain_db/blockchain_db.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/blockchain_db/blockchain_db.cpp b/src/blockchain_db/blockchain_db.cpp index 88ac34255..8544cc3f0 100644 --- a/src/blockchain_db/blockchain_db.cpp +++ b/src/blockchain_db/blockchain_db.cpp @@ -218,13 +218,22 @@ uint64_t BlockchainDB::add_block( const block& blk // call out to add the transactions time1 = epee::misc_utils::get_tick_count(); + + uint64_t num_rct_outs = 0; add_transaction(blk_hash, blk.miner_tx); + if (blk.miner_tx.version == 2) + num_rct_outs += blk.miner_tx.vout.size(); int tx_i = 0; crypto::hash tx_hash = crypto::null_hash; for (const transaction& tx : txs) { tx_hash = blk.tx_hashes[tx_i]; add_transaction(blk_hash, tx, &tx_hash); + for (const auto &vout: tx.vout) + { + if (vout.amount == 0) + ++num_rct_outs; + } ++tx_i; } TIME_MEASURE_FINISH(time1); @@ -232,7 +241,7 @@ uint64_t BlockchainDB::add_block( const block& blk // call out to subclass implementation to add the block & metadata time1 = epee::misc_utils::get_tick_count(); - add_block(blk, block_size, cumulative_difficulty, coins_generated, blk_hash); + add_block(blk, block_size, cumulative_difficulty, coins_generated, num_rct_outs, blk_hash); TIME_MEASURE_FINISH(time1); time_add_block1 += time1; |
