Ejemplo n.º 1
0
        public override void BuildNode()
        {
            var settings = new NodeSettings(this.Network, args: new string[] { "-conf=stratis.conf", "-datadir=" + this.DataFolder });

            IFullNodeBuilder builder = new FullNodeBuilder()
                                       .UseNodeSettings(settings)
                                       .UseBlockStore()
                                       .UseMempool()
                                       .AddRPC()
                                       .AddSmartContracts(options =>
            {
                options.UseReflectionExecutor();
            })
                                       .UseSmartContractPosConsensus()
                                       .UseSmartContractWallet()
                                       .AddSQLiteWalletRepository()
                                       .UseSmartContractPosPowMining()
                                       .MockIBD()
                                       .UseTestChainedHeaderTree()
                                       .OverrideDateTimeProviderFor <MiningFeature>();

            if (!this.EnablePeerDiscovery)
            {
                builder.RemoveImplementation <PeerConnectorDiscovery>();
                builder.ReplaceService <IPeerDiscovery, BaseFeature>(new PeerDiscoveryDisabled());
            }

            this.FullNode = (FullNode)builder.Build();
        }
        public override void BuildNode()
        {
            NodeSettings settings = null;

            if (string.IsNullOrEmpty(this.Agent))
            {
                settings = new NodeSettings(this.Network, args: new string[] { "-conf=bitcoin.conf", "-datadir=" + this.DataFolder });
            }
            else
            {
                settings = new NodeSettings(this.Network, agent: this.Agent, args: new string[] { "-conf=bitcoin.conf", "-datadir=" + this.DataFolder });
            }

            var persistenceProviderManager = new TestPersistenceProviderManager(settings);


            var builder = new FullNodeBuilder()
                          .UsePersistenceProviderMananger(persistenceProviderManager)
                          .UseNodeSettings(settings)
                          .UseBlockStore()
                          .UsePowConsensus()
                          .UseMempool()
                          .AddMining()
                          .UseWallet()
                          .AddRPC()
                          .UseNodeHost()
                          .UseTestChainedHeaderTree()
                          .MockIBD();

            if (this.ServiceToOverride != null)
            {
                builder.OverrideService <BaseFeature>(this.ServiceToOverride);
            }

            if (!this.EnablePeerDiscovery)
            {
                builder.RemoveImplementation <PeerConnectorDiscovery>();
                builder.ReplaceService <IPeerDiscovery, BaseFeature>(new PeerDiscoveryDisabled());
            }

            if (this.AlwaysFlushBlocks)
            {
                builder.ReplaceService <IBlockStoreQueueFlushCondition, BlockStoreFeature>(new BlockStoreAlwaysFlushCondition());
            }

            this.FullNode = (FullNode)builder.Build();
        }
        public override void BuildNode()
        {
            NodeSettings settings = null;

            if (string.IsNullOrEmpty(this.Agent))
            {
                settings = new NodeSettings(this.Network, args: new string[] { "-conf=bitcoin.conf", "-datadir=" + this.DataFolder });
            }
            else
            {
                settings = new NodeSettings(this.Network, agent: this.Agent, args: new string[] { "-conf=bitcoin.conf", "-datadir=" + this.DataFolder });
            }

            var builder = new FullNodeBuilder()
                          .UseNodeSettings(settings)
                          .UseBlockStore()
                          .UsePowConsensus()
                          .UseMempool()
                          .AddMining()
                          .UseWallet()
                          .AddRPC()
                          .UseApi()
                          .UseTestChainedHeaderTree()
                          .MockIBD();

            if (this.InterceptorDisconnect != null)
            {
                builder = builder.InterceptBlockDisconnected(this.InterceptorDisconnect);
            }

            if (this.ServiceToOverride != null)
            {
                builder.OverrideService <BaseFeature>(this.ServiceToOverride);
            }

            if (!this.EnablePeerDiscovery)
            {
                builder.RemoveImplementation <PeerConnectorDiscovery>();
                builder.ReplaceService <IPeerDiscovery>(new PeerDiscoveryDisabled());
            }

            this.FullNode = (FullNode)builder.Build();
        }
Ejemplo n.º 4
0
        public override void BuildNode()
        {
            var settings = new NodeSettings(this.Network, ProtocolVersion.PROVEN_HEADER_VERSION, this.Agent, args: new string[] { "-conf=stratis.conf", "-datadir=" + this.DataFolder });

            var builder = new FullNodeBuilder()
                          .UseNodeSettings(settings)
                          .UseBlockStore()
                          .UsePosConsensus()
                          .UseMempool()
                          .UseWallet()
                          .AddPowPosMining()
                          .AddRPC()
                          .UseApi()
                          .UseTestChainedHeaderTree()
                          .MockIBD();

            if (this.OverrideDateTimeProvider)
            {
                builder.OverrideDateTimeProviderFor <MiningFeature>();
            }

            if (this.InterceptorDisconnect != null)
            {
                builder = builder.InterceptBlockDisconnected(this.InterceptorDisconnect);
            }

            if (this.InterceptorConnect != null)
            {
                builder = builder.InterceptBlockConnected(this.InterceptorConnect);
            }

            if (!this.EnablePeerDiscovery)
            {
                builder.RemoveImplementation <PeerConnectorDiscovery>();
                builder.ReplaceService <IPeerDiscovery>(new PeerDiscoveryDisabled());
            }

            this.FullNode = (FullNode)builder.Build();
        }
Ejemplo n.º 5
0
        public override void BuildNode()
        {
            var settings = new NodeSettings(this.Network,
                                            ProtocolVersion.PROVEN_HEADER_VERSION,
                                            this.Agent,
                                            args: new string[] { "-savetrxhex=1", "-txIndex=1", "-addressIndex=1", "-conf=redstone.conf", $"-datadir={this.DataFolder}" });

            var builder = new FullNodeBuilder()
                          .UseNodeSettings(settings)
                          .UseBlockStore()
                          .UseRedstonePosConsensus()
                          .UseMempool()
                          .UseBlockNotification()
                          .UseTransactionNotification()
                          .UseWallet()
                          .UseWatchOnlyWallet()
                          .AddServiceNodeRegistration()
                          .AddRedstoneMining()
                          .AddRPC()
                          .UseApi()
                          .UseTestChainedHeaderTree()
                          .MockIBD();

            if (this.OverrideDateTimeProvider)
            {
                builder.OverrideDateTimeProviderFor <MiningFeature>();
            }

            if (!this.EnablePeerDiscovery)
            {
                builder.RemoveImplementation <PeerConnectorDiscovery>();
                builder.ReplaceService <IPeerDiscovery, BaseFeature>(new PeerDiscoveryDisabled());
            }

            this.FullNode = (FullNode)builder.Build();
        }
Ejemplo n.º 6
0
        public override void BuildNode()
        {
            var argsAsStringArray = this.configParameters.AsConsoleArgArray();

            NodeSettings settings = null;

            if (string.IsNullOrEmpty(this.Agent))
            {
                settings = new NodeSettings(this.Network, args: argsAsStringArray)
                {
                    MinProtocolVersion = this.minProtocolVersion
                }
            }
            ;
            else
            {
                settings = new NodeSettings(this.Network, agent: this.Agent, args: argsAsStringArray)
                {
                    MinProtocolVersion = this.minProtocolVersion
                }
            };

            var persistenceProviderManager = new TestPersistenceProviderManager(settings);

            IFullNodeBuilder builder = new FullNodeBuilder()
                                       .UsePersistenceProviderMananger(persistenceProviderManager)
                                       .UseNodeSettings(settings);

            this.callback(builder);

            builder.RemoveImplementation <PeerConnectorDiscovery>();
            builder.ReplaceService <IPeerDiscovery, BaseFeature>(new PeerDiscoveryDisabled());

            this.FullNode = (FullNode)builder.Build();
        }
    }