Exemple #1
0
        public IBlockchainBridge CreateBlockchainBridge()
        {
            ReadOnlyBlockTree readOnlyTree = BlockTree.AsReadOnly();

            LazyInitializer.EnsureInitialized(ref _readOnlyDbProvider, () => new ReadOnlyDbProvider(DbProvider, false));

            // TODO: reuse the same trie cache here
            ReadOnlyTxProcessingEnv readOnlyTxProcessingEnv = new(
                _readOnlyDbProvider,
                ReadOnlyTrieStore,
                readOnlyTree,
                SpecProvider,
                LogManager);

            IMiningConfig miningConfig = ConfigProvider.GetConfig <IMiningConfig>();
            ISyncConfig   syncConfig   = ConfigProvider.GetConfig <ISyncConfig>();

            return(new BlockchainBridge(
                       readOnlyTxProcessingEnv,
                       TxPool,
                       ReceiptFinder,
                       FilterStore,
                       FilterManager,
                       EthereumEcdsa,
                       Timestamper,
                       LogFinder,
                       miningConfig.Enabled,
                       syncConfig.BeamSync && syncConfig.FastSync
                       ));
        }