那么我们生成新区块的时候就顺便来挖矿吧:
- /// <summary>
- /// 生成新的区块
- /// </summary>
- /// <param name="oldBlock">旧的区块数据</param>
- /// <param name="BPM">心率</param>
- /// <returns>新的区块</returns>
- public static Block GenerateBlock(Block oldBlock, int BPM)
- {
- Block newnewBlock = new Block()
- {
- Index = oldBlock.Index + 1,
- TimeStamp = CalculateCurrentTimeUTC(),
- BPMBPM = BPM,
- PrevHash = oldBlock.Hash,
- DifficultyDifficulty = Difficulty
- };
- // 挖矿 ing...
- for (int i = 0; ; i++)
- {
- newBlock.Nonce = i.ToString("x2");
- if (!IsHashValid(CalculateHash(newBlock), Difficulty))
- {
- Console.WriteLine($"目前结果:{CalculateHash(newBlock)} ,正在计算中...");
- Task.Delay(1);
- continue;
- }
- else
- {
- Console.WriteLine($"目前结果:{CalculateHash(newBlock)} ,计算完毕...");
- newBlock.Hash = CalculateHash(newBlock);
- break;
- }
- }
- // 原有代码
- // newBlock.Hash = CalculateHash(newBlock);
- return newBlock;
- }
(编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|