Пример #1
0
        public ResultWrapper <SyncingResult> eth_syncing()
        {
            try
            {
                _readerWriterLockSlim.EnterReadLock();
                SyncingResult result;
                if (_blockchainBridge.IsSyncing)
                {
                    result = new SyncingResult
                    {
                        CurrentBlock  = _blockchainBridge.Head.Number,
                        HighestBlock  = _blockchainBridge.BestKnown,
                        StartingBlock = UInt256.Zero,
                        IsSyncing     = true
                    };
                }
                else
                {
                    result = SyncingResult.NotSyncing;
                }

                if (Logger.IsTrace)
                {
                    Logger.Trace($"eth_syncing request, result: {_blockchainBridge.Head.Number}/{_blockchainBridge.BestKnown}");
                }
                return(ResultWrapper <SyncingResult> .Success(result));
            }
            finally
            {
                _readerWriterLockSlim.ExitReadLock();
            }
        }
Пример #2
0
        public ResultWrapper <SyncingResult> eth_syncing()
        {
            SyncingResult result;
            long          bestSuggestedNumber = _blockFinder.FindBestSuggestedHeader().Number;

            long headNumberOrZero = _blockFinder.Head?.Number ?? 0;
            bool isSyncing        = bestSuggestedNumber > headNumberOrZero + 8;

            if (isSyncing)
            {
                result = new SyncingResult
                {
                    CurrentBlock  = headNumberOrZero,
                    HighestBlock  = bestSuggestedNumber,
                    StartingBlock = 0L,
                    IsSyncing     = true
                };
            }
            else
            {
                result = SyncingResult.NotSyncing;
            }

            return(ResultWrapper <SyncingResult> .Success(result));
        }
Пример #3
0
        public ResultWrapper <SyncingResult> eth_syncing()
        {
            try
            {
                _readerWriterLockSlim.EnterReadLock();
                SyncingResult result;
                if (_blockchainBridge.IsSyncing)
                {
                    result = new SyncingResult
                    {
                        CurrentBlock  = _blockchainBridge.Head.Number,
                        HighestBlock  = _blockchainBridge.BestKnown,
                        StartingBlock = 0L,
                        IsSyncing     = true
                    };
                }
                else
                {
                    result = SyncingResult.NotSyncing;
                }

                return(ResultWrapper <SyncingResult> .Success(result));
            }
            finally
            {
                _readerWriterLockSlim.ExitReadLock();
            }
        }
Пример #4
0
        public ResultWrapper <SyncingResult> eth_syncing()
        {
            SyncingResult result;

            if (_blockchainBridge.IsSyncing)
            {
                result = new SyncingResult
                {
                    CurrentBlock  = _blockchainBridge.Head.Number,
                    HighestBlock  = _blockchainBridge.BestKnown,
                    StartingBlock = 0L,
                    IsSyncing     = true
                };
            }
            else
            {
                result = SyncingResult.NotSyncing;
            }

            return(ResultWrapper <SyncingResult> .Success(result));
        }