Initialize recently_missed_count to 0 if slots were missed at genesis
This commit is contained in:
parent
013033001f
commit
4a350a5c0c
2 changed files with 28 additions and 1 deletions
|
|
@ -42,7 +42,9 @@ void database::update_global_dynamic_data( const signed_block& b )
|
||||||
|
|
||||||
// dynamic global properties updating
|
// dynamic global properties updating
|
||||||
modify( _dgp, [&]( dynamic_global_property_object& dgp ){
|
modify( _dgp, [&]( dynamic_global_property_object& dgp ){
|
||||||
if( _checkpoints.size() && _checkpoints.rbegin()->first >= b.block_num() )
|
if( BOOST_UNLIKELY( b.block_num() == 1 ) )
|
||||||
|
dgp.recently_missed_count = 0;
|
||||||
|
else if( _checkpoints.size() && _checkpoints.rbegin()->first >= b.block_num() )
|
||||||
dgp.recently_missed_count = 0;
|
dgp.recently_missed_count = 0;
|
||||||
else if( missed_blocks )
|
else if( missed_blocks )
|
||||||
dgp.recently_missed_count += GRAPHENE_RECENTLY_MISSED_COUNT_INCREMENT*missed_blocks;
|
dgp.recently_missed_count += GRAPHENE_RECENTLY_MISSED_COUNT_INCREMENT*missed_blocks;
|
||||||
|
|
|
||||||
|
|
@ -26,12 +26,35 @@
|
||||||
#include <fc/smart_ref_impl.hpp>
|
#include <fc/smart_ref_impl.hpp>
|
||||||
#include <fc/thread/thread.hpp>
|
#include <fc/thread/thread.hpp>
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace graphene::witness_plugin;
|
using namespace graphene::witness_plugin;
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::vector;
|
using std::vector;
|
||||||
|
|
||||||
namespace bpo = boost::program_options;
|
namespace bpo = boost::program_options;
|
||||||
|
|
||||||
|
void new_chain_banner( const graphene::chain::database& db )
|
||||||
|
{
|
||||||
|
std::cerr << "\n"
|
||||||
|
"********************************\n"
|
||||||
|
"* *\n"
|
||||||
|
"* ------- NEW CHAIN ------ *\n"
|
||||||
|
"* - Welcome to Graphene! - *\n"
|
||||||
|
"* ------------------------ *\n"
|
||||||
|
"* *\n"
|
||||||
|
"********************************\n"
|
||||||
|
"\n";
|
||||||
|
if( db.get_slot_at_time( graphene::time::now() ) > 200 )
|
||||||
|
{
|
||||||
|
std::cerr << "Your genesis seems to have an old timestamp\n"
|
||||||
|
"Please consider using a script to produce a genesis file with a recent timestamp\n"
|
||||||
|
"\n"
|
||||||
|
;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
void witness_plugin::plugin_set_program_options(
|
void witness_plugin::plugin_set_program_options(
|
||||||
boost::program_options::options_description& command_line_options,
|
boost::program_options::options_description& command_line_options,
|
||||||
boost::program_options::options_description& config_file_options)
|
boost::program_options::options_description& config_file_options)
|
||||||
|
|
@ -138,6 +161,8 @@ void witness_plugin::plugin_startup()
|
||||||
{
|
{
|
||||||
ilog("Launching block production for ${n} witnesses.", ("n", _witnesses.size()));
|
ilog("Launching block production for ${n} witnesses.", ("n", _witnesses.size()));
|
||||||
app().set_block_production(true);
|
app().set_block_production(true);
|
||||||
|
if( _production_enabled && (d.head_block_num() == 0) )
|
||||||
|
new_chain_banner(d);
|
||||||
schedule_next_production(d.get_global_properties().parameters);
|
schedule_next_production(d.get_global_properties().parameters);
|
||||||
} else
|
} else
|
||||||
elog("No witnesses configured! Please add witness IDs and private keys to configuration.");
|
elog("No witnesses configured! Please add witness IDs and private keys to configuration.");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue