public void MinerTransactions() { if (ValidateValueTransactions()) { var coinBase = CreateCoinBase(); var transactions = new List <Transaction>(); transactions.Add(coinBase); transactions.AddRange(Bitcoin.TransactionPool); var previousBlock = Bitcoin.returnLastBlock(); var newBlock = new Block(previousBlock.Index + 1, previousBlock.Hash, transactions); var nonce = 0; do { newBlock.Hash = newBlock.GenerateHashBlock(nonce); nonce++; } while (newBlock.Hash.Substring(0, Bitcoin.Difficulty) != new string('0', Bitcoin.Difficulty)); ExcludeUtxo(); CreateUtxo(); Bitcoin.Chain.Add(newBlock); Bitcoin.TransactionPool.Clear(); } }