public Block CreatBlock(string strNounce, string sBaseCoinScript) { try { Block block = new Block(); if (!Cryptor.Verify24Puzzel(this.mLastBlock.Header.Puzzle, strNounce)) { return(block); } // mutex todo 181215 Transaction basecoinTrans = this.CreatCoinBaseTX(sBaseCoinScript); this.AddTx2hsPool(basecoinTrans); this.HashsetPool2list(); block.listTransactions = this.GetlstPoolTx(); block.SetTransInfo(); block.SetBlockHeader(this.mLastBlock.Hash, this.mLastBlock.Header.Height); block.SetNonce(strNounce); block.SetBlockHash(); string jsonblock = JsonHelper.Serializer <Block>(block); LogHelper.WriteInfoLog(jsonblock); return(block); } catch (Exception ex) { LogHelper.WriteErrorLog(ex.Message); Block block = new Block(); return(block); } }
public Block CreatBlock(string strNounce, string sBaseCoinScript) { try { LogHelper.WriteMethodLog(true); Block block = new Block(); if (!Cryptor.Verify24Puzzel(this.mLastBlock.Header.Puzzle, strNounce)) { return(block); } // mutex todo 181215 Transaction basecoinTrans = this.CreatCoinBaseTX(sBaseCoinScript); this.AddTx2hsPool(basecoinTrans); //this.HashsetPool2list(); block.listTransactions = this.GetlstPoolTx(); this.ClearTxPool(); block.SetTransInfo(); block.SetBlockHeader(this.mLastBlock.Hash, this.mLastBlock.Header.Height); block.SetNonce(strNounce); //add by fdp 190114 set hash all 0 temporary for computing block size, block.Hash = ConstHelper.BC_BaseCoinInputTxHash; string jsonBlock = JsonHelper.Serializer <Block>(block); block.SetBlockSize(jsonBlock.Length); block.SetBlockHash(); string jsonblock = JsonHelper.Serializer <Block>(block); LogHelper.WriteInfoLog(jsonblock); return(block); } catch (Exception ex) { LogHelper.WriteErrorLog(ex.Message); Block block = new Block(); return(block); } }