Beispiel #1
0
        public bool CanFork(Block block, int count = 0)
        {
            if (count == 20)
            {
                return(false);
            }

            if (block.Header.PreviousBlockHash == null && block.Transactions.Count() == 1 &&
                block.Transactions.First().Outputs[0].Wallet == "y4j4EmPLy7oMBeQEdfXJJAqwWdwgpPGAxezDWNGzFqqtqjKpn" &&      //TODO Changel PreMining Wallet
                block.Transactions.First().Outputs[0].Size == 1578960000)
            {
                return(true);
            }

            if (CurrentBlock != null && CurrentBlock.Header.Hash.SequenceEqual(block.Header.PreviousBlockHash))
            {
                return(true);
            }

            if (Previous == null || CurrentBlock == null || LastBlock == null)
            {
                return(false);
            }

            if (Previous != null)
            {
                return(Previous.CanFork(block, ++count));
            }

            return(false);
        }
Beispiel #2
0
        public bool CanFork(Block block, int count = 0)
        {
            if (count == 20)
            {
                return(false);
            }

            if (block.Header.PreviousBlockHash == null && block.Transactions.Count() == 1 &&
                block.Transactions.First().Outputs[0].Wallet == "VMBxDa9XQbsAW67k7avuo7HcXKxz4nizetAPi4FB5Upcj3eCD" &&
                block.Transactions.First().Outputs[0].Size == 28987200)
            {
                return(true);
            }

            if (CurrentBlock != null && CurrentBlock.Header.Hash.SequenceEqual(block.Header.PreviousBlockHash))
            {
                return(true);
            }

            if (Previous == null || CurrentBlock == null || LastBlock == null)
            {
                return(false);
            }

            if (Previous != null)
            {
                return(Previous.CanFork(block, ++count));
            }

            return(false);
        }
Beispiel #3
0
        public bool CanFork(Block block, int count = 0)
        {
            if (count > 20)
            {
                return(false);
            }

            if (block.Header.PreviousBlockHash == null && block.TransactionsDictionary.Count == 0)
            {
                return(true);
            }

            if (CurrentBlock != null && CurrentBlock.Header.Hash.SequenceEqual(block.Header.PreviousBlockHash))
            {
                return(true);
            }

            if (Previous == null || CurrentBlock == null || LastBlock == null)
            {
                return(false);
            }

            if (Previous != null)
            {
                return(Previous.CanFork(block, ++count));
            }

            return(false);
        }