同样是采用一个简单,但效率低下的方案,遍历自己的链和其他节点的链,谁的长谁的就是主链。
然后将自己的链和主链进行比较,将自己的链上的区块挂在主链上,挂的同时验证一下自己的区块是否已经存在于主链上,如果存在就跳过。
void BlockChain::MergeBlockChain(const std::string &json)
{
std::list<Block> lst_block = GetBlockListFromJson(json);
lst_block.pop_front();
if (lst_block.size() > m_lst_block.size())
{
std::