Added initializing bitcoin_confirmations when node starts; made correct reindex
This commit is contained in:
parent
b33c5bf86f
commit
a229d0acc4
4 changed files with 21 additions and 3 deletions
|
|
@ -108,18 +108,21 @@ void database::reindex(fc::path data_dir, const genesis_state_type& initial_allo
|
||||||
skip_transaction_dupe_check |
|
skip_transaction_dupe_check |
|
||||||
skip_tapos_check |
|
skip_tapos_check |
|
||||||
skip_witness_schedule_check |
|
skip_witness_schedule_check |
|
||||||
skip_authority_check);
|
skip_authority_check |
|
||||||
|
skip_btc_tx_sending);
|
||||||
else
|
else
|
||||||
apply_block(*block, skip_witness_signature |
|
apply_block(*block, skip_witness_signature |
|
||||||
skip_transaction_signatures |
|
skip_transaction_signatures |
|
||||||
skip_transaction_dupe_check |
|
skip_transaction_dupe_check |
|
||||||
skip_tapos_check |
|
skip_tapos_check |
|
||||||
skip_witness_schedule_check |
|
skip_witness_schedule_check |
|
||||||
skip_authority_check);
|
skip_authority_check |
|
||||||
|
skip_btc_tx_sending);
|
||||||
}
|
}
|
||||||
if (!_slow_replays)
|
if (!_slow_replays)
|
||||||
_undo_db.enable();
|
_undo_db.enable();
|
||||||
auto end = fc::time_point::now();
|
auto end = fc::time_point::now();
|
||||||
|
restore_bitcoin_transaction_status();
|
||||||
ilog( "Done reindexing, elapsed time: ${t} sec", ("t",double((end-start).count())/1000000.0 ) );
|
ilog( "Done reindexing, elapsed time: ${t} sec", ("t",double((end-start).count())/1000000.0 ) );
|
||||||
} FC_CAPTURE_AND_RETHROW( (data_dir) ) }
|
} FC_CAPTURE_AND_RETHROW( (data_dir) ) }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -378,4 +378,17 @@ fc::optional<operation> database::create_bitcoin_revert_proposals( const witness
|
||||||
return fc::optional<operation>();
|
return fc::optional<operation>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void database::restore_bitcoin_transaction_status()
|
||||||
|
{
|
||||||
|
const auto& btc_tx_idx = get_index_type<bitcoin_transaction_index>().indices().get<by_id>();
|
||||||
|
for( const auto& bto : btc_tx_idx ) {
|
||||||
|
std::set<fc::sha256> valid_vins;
|
||||||
|
for( const auto& v : bto.transaction.vin ) {
|
||||||
|
valid_vins.insert( v.prevout.hash );
|
||||||
|
}
|
||||||
|
bitcoin_confirmations.insert( bitcoin_transaction_confirmations( bto.transaction.get_txid(), valid_vins ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} }
|
} }
|
||||||
|
|
@ -565,6 +565,8 @@ namespace graphene { namespace chain {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
void restore_bitcoin_transaction_status(); // db_sidechain
|
||||||
|
|
||||||
vector< processed_transaction > _pending_tx;
|
vector< processed_transaction > _pending_tx;
|
||||||
fork_database _fork_db;
|
fork_database _fork_db;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ namespace graphene { namespace chain {
|
||||||
} } // graphene::chain
|
} } // graphene::chain
|
||||||
|
|
||||||
FC_REFLECT( graphene::chain::bitcoin_transaction_send_operation::fee_parameters_type, (fee)(price_per_kbyte) )
|
FC_REFLECT( graphene::chain::bitcoin_transaction_send_operation::fee_parameters_type, (fee)(price_per_kbyte) )
|
||||||
FC_REFLECT( graphene::chain::bitcoin_transaction_send_operation, (fee)(payer)(vins)(vouts)(transaction)(fee_for_size) )
|
FC_REFLECT( graphene::chain::bitcoin_transaction_send_operation, (fee)(payer)(pw_vin)(vins)(vouts)(transaction)(fee_for_size) )
|
||||||
|
|
||||||
FC_REFLECT( graphene::chain::bitcoin_transaction_sign_operation::fee_parameters_type, (fee)(price_per_kbyte) )
|
FC_REFLECT( graphene::chain::bitcoin_transaction_sign_operation::fee_parameters_type, (fee)(price_per_kbyte) )
|
||||||
FC_REFLECT( graphene::chain::bitcoin_transaction_sign_operation, (fee)(payer)(proposal_id)(signatures) )
|
FC_REFLECT( graphene::chain::bitcoin_transaction_sign_operation, (fee)(payer)(proposal_id)(signatures) )
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue