コード例 #1
0
        /// <summary>
        /// Set miner true when another miner found the nonce
        /// </summary>
        /// <param name="time"></param>
        /// <param name="blockID"></param>
        /// <param name="nonce"></param>
        public static void SetMyMinerTrue(DateTime time, long blockID, int nonce, string ip)
        {
            Console.WriteLine("Nonce is checking for " + blockID);
            var   keyValuePair = GetBlockInProcessingBlock(blockID);
            Block block        = keyValuePair.Value;

            if (block == null)
            {
                return;
            }

            if (block.ChangeNonce(nonce))
            {
                block.Time = time;
                Console.WriteLine("Nonce is true for " + blockID);

                UpdateProcessingBlockList(block);
                SetMinersTrue(ip, block.BlockID);

                TCP.SendAllMiners("nonceIsTrue" + blockID);
            }
            else
            {
                Console.WriteLine("Nonce is wrong for " + blockID);
            }
        }