Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }