本文整理汇总了C++中CSyncCheckpoint类的典型用法代码示例。如果您正苦于以下问题:C++ CSyncCheckpoint类的具体用法?C++ CSyncCheckpoint怎么用?C++ CSyncCheckpoint使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CSyncCheckpoint类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ResetSyncCheckpoint
// reset synchronized checkpoint to last hardened checkpoint
bool ResetSyncCheckpoint()
{
LOCK(cs_hashSyncCheckpoint);
uint256 hash = Checkpoints::GetLatestHardenedCheckpoint();
if (mapBlockIndex.count(hash) && !mapBlockIndex[hash]->IsInMainChain())
{
// checkpoint block accepted but not yet in main chain
printf("ResetSyncCheckpoint: SetBestChain to hardened checkpoint %s\n", hash.ToString().c_str());
CValidationState state;
if (!SetBestChain(state, mapBlockIndex[hash]))
{
return error("ResetSyncCheckpoint: SetBestChain failed for hardened checkpoint %s", hash.ToString().c_str());
}
} else {
/* Reset to the last available checkpoint block in the main chain */
checkpointMessagePending.SetNull();
hash = Checkpoints::GetLastAvailableCheckpoint();
}
if (!WriteSyncCheckpoint(hash))
return error("ResetSyncCheckpoint: failed to write sync checkpoint %s", hash.ToString().c_str());
printf("ResetSyncCheckpoint: sync-checkpoint reset to %s\n", hashSyncCheckpoint.ToString().c_str());
return true;
}