Merge tag '0.1.10'
This commit is contained in:
commit
7756c9d443
5 changed files with 52 additions and 24 deletions
|
|
@ -29,6 +29,12 @@ Start the witness back up
|
|||
|
||||
./programs/witness_node/witness_node
|
||||
|
||||
Upgrading A Peerplays Node
|
||||
-----------------
|
||||
To minimize downtime of your peerplays node when upgrading, one upgrade idea was written in this steemit article: https://steemit.com/peerplays/@joseph/peerplays-update-setting-a-backup-witness-server-switching-servers
|
||||
|
||||
Wallet Setup
|
||||
-----------------
|
||||
Then, in a separate terminal window, start the command-line wallet `cli_wallet`:
|
||||
|
||||
./programs/cli_wallet/cli_wallet
|
||||
|
|
@ -38,7 +44,6 @@ To set your initial password to 'password' use:
|
|||
>>> set_password password
|
||||
>>> unlock password
|
||||
|
||||
|
||||
A list of CLI wallet commands is available
|
||||
[here](https://github.com/PBSA/peerplays/blob/master/libraries/wallet/include/graphene/wallet/wallet.hpp).
|
||||
|
||||
|
|
|
|||
|
|
@ -163,23 +163,40 @@ namespace detail {
|
|||
{
|
||||
// t.me/peerplays #seednodes
|
||||
vector<string> seeds = {
|
||||
"seed.ppy.blckchnd.com:6112", // blckchnd
|
||||
"ppy.esteem.ws:7777", // good-karma
|
||||
"peerplays.bitcoiner.me:9777", // bitcoiner
|
||||
"peerplays.roelandp.nl:9777", // roelandp
|
||||
"78.46.95.153:7777", // theprophet0
|
||||
"ppyseed.bacchist.me:42420", // bacchist-witness
|
||||
"5.9.18.213:18828", // pfunk
|
||||
"31.171.244.121:7777", // taconator
|
||||
"seed.peerplaysdb.com:9777", // jesta
|
||||
"ppy-seed.xeldal.com:19777", // xeldal
|
||||
"peerplays-seed.altcap.io:61388", // winner.winner.chicken.dinner
|
||||
"seed.peerplaysnodes.com:9777", // wackou
|
||||
"peerplays-seed.privex.io:7777", // someguy123/privex
|
||||
"51.15.78.16:9777", // agoric.systems
|
||||
"212.71.253.163:9777", // xtar
|
||||
"51.15.35.96:9777", // lafona
|
||||
"anyx.ca:9777" // anyx
|
||||
"seed.ppy.blckchnd.com:6112", // blckchnd
|
||||
"ppy.esteem.ws:7777", // good-karma
|
||||
"peerplays.bitcoiner.me:9777", // bitcoiner
|
||||
"peerplays.roelandp.nl:9777", // roelandp
|
||||
"ppyseed.bacchist.me:42420", // bacchist-witness
|
||||
"5.9.18.213:18828", // pfunk
|
||||
"31.171.244.121:7777", // taconator
|
||||
"seed.peerplaysdb.com:9777", // jesta
|
||||
"ppy-seed.xeldal.com:19777", // xeldal
|
||||
"seed.ppy.altcap.io:61388", // winner.winner.chicken.dinner
|
||||
"seed.peerplaysnodes.com:9777", // wackou
|
||||
"peerplays-seed.privex.io:7777", // someguy123/privex
|
||||
"51.15.78.16:9777", // agoric.systems
|
||||
"212.71.253.163:9777", // xtar
|
||||
"51.15.35.96:9777", // lafona
|
||||
"anyx.ca:9777", // anyx
|
||||
"82.223.108.91:7777", // hiltos-witness
|
||||
"seed.ppy.nuevax.com:19777", // nuevax
|
||||
"peerplays.butler.net:9777", // billbutler-witness
|
||||
"peerplays.bitcoiner.me:9777", // bitcoiner
|
||||
"ppyseed.bacchist.me:42420", // bacchist-witness
|
||||
"peerplays.bhuz.info:9777", // bhuz
|
||||
"node.peerblock.trade:9777", // bitcoinsig
|
||||
"peerplays.crypto.fans:9777", // sc-steemit
|
||||
"54.38.193.20:9777", // royal-flush
|
||||
"ppy001.bts-nodes.net:7777", // baxters-sports-witness
|
||||
"ppy002.bts-nodes.net:7777", // baxters-sports-witness
|
||||
"ppy003.bts-nodes.net:7777", // baxters-sports-witness
|
||||
"ppy004.bts-nodes.net:7777", // baxters-sports-witness
|
||||
"ppy.proxyhosts.info:7777", // baxters-sports-witness
|
||||
"ppyseed.spacemx.tech:9777", // spacecrypt-witness
|
||||
"peerplaysblockchain.net:9777", // houdini-witness
|
||||
"54.37.235.164:7777", // melea-trust
|
||||
"peerplays-seed.lukestokes.info:7777" // lukestokes-witness
|
||||
};
|
||||
for( const string& endpoint_string : seeds )
|
||||
{
|
||||
|
|
@ -525,6 +542,7 @@ namespace detail {
|
|||
{ try {
|
||||
|
||||
auto latency = graphene::time::now() - blk_msg.block.timestamp;
|
||||
FC_ASSERT( (latency.count()/1000) > -5000, "Rejecting block with timestamp in the future" );
|
||||
if (!sync_mode || blk_msg.block.block_num() % 10000 == 0)
|
||||
{
|
||||
const auto& witness = blk_msg.block.witness(*_chain_db);
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ void verify_account_votes( const database& db, const account_options& options )
|
|||
"Voted for more witnesses than currently allowed (${c})", ("c", chain_params.maximum_witness_count) );
|
||||
FC_ASSERT( options.num_committee <= chain_params.maximum_committee_count,
|
||||
"Voted for more committee members than currently allowed (${c})", ("c", chain_params.maximum_committee_count) );
|
||||
FC_ASSERT( db.find_object(options.voting_account), "Invalid proxy account specified." );
|
||||
|
||||
uint32_t max_vote_id = gpo.next_available_vote_id;
|
||||
bool has_worker_votes = false;
|
||||
|
|
@ -108,7 +109,6 @@ void_result account_create_evaluator::do_evaluate( const account_create_operatio
|
|||
FC_ASSERT( !op.extensions.value.buyback_options.valid() );
|
||||
}
|
||||
|
||||
FC_ASSERT( d.find_object(op.options.voting_account), "Invalid proxy account specified." );
|
||||
FC_ASSERT( fee_paying_account->is_lifetime_member(), "Only Lifetime members may register an account." );
|
||||
FC_ASSERT( op.referrer(d).is_member(d.head_block_time()), "The referrer must be either a lifetime or annual subscriber." );
|
||||
|
||||
|
|
|
|||
|
|
@ -1244,10 +1244,15 @@ void database::perform_chain_maintenance(const signed_block& next_block, const g
|
|||
// There may be a difference between the account whose stake is voting and the one specifying opinions.
|
||||
// Usually they're the same, but if the stake account has specified a voting_account, that account is the one
|
||||
// specifying the opinions.
|
||||
const account_object& opinion_account =
|
||||
const account_object* opinion_account_ptr =
|
||||
(stake_account.options.voting_account ==
|
||||
GRAPHENE_PROXY_TO_SELF_ACCOUNT)? stake_account
|
||||
: d.get(stake_account.options.voting_account);
|
||||
GRAPHENE_PROXY_TO_SELF_ACCOUNT)? &stake_account
|
||||
: d.find(stake_account.options.voting_account);
|
||||
|
||||
if( !opinion_account_ptr ) // skip non-exist account
|
||||
return;
|
||||
|
||||
const account_object& opinion_account = *opinion_account_ptr;
|
||||
|
||||
const auto& stats = stake_account.statistics(d);
|
||||
uint64_t voting_stake = stats.total_core_in_orders.value
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ void database::clear_expired_transactions()
|
|||
//Transactions must have expired by at least two forking windows in order to be removed.
|
||||
auto& transaction_idx = static_cast<transaction_index&>(get_mutable_index(implementation_ids, impl_transaction_object_type));
|
||||
const auto& dedupe_index = transaction_idx.indices().get<by_expiration>();
|
||||
while( (!dedupe_index.empty()) && (head_block_time() > dedupe_index.rbegin()->trx.expiration) )
|
||||
transaction_idx.remove(*dedupe_index.rbegin());
|
||||
while( (!dedupe_index.empty()) && (head_block_time() > dedupe_index.begin()->trx.expiration) )
|
||||
transaction_idx.remove(*dedupe_index.begin());
|
||||
} FC_CAPTURE_AND_RETHROW() }
|
||||
|
||||
void database::clear_expired_proposals()
|
||||
|
|
|
|||
Loading…
Reference in a new issue