public override void BuildNode() { var settings = new NodeSettings(this.Network, ProtocolVersion.PROVEN_HEADER_VERSION, this.Agent, args: new string[] { $"-conf={this.Network.DefaultConfigFilename}", "-datadir=" + this.DataFolder }); var builder = new FullNodeBuilder() .UseNodeSettings(settings) .UseBlockStore() .UsePosConsensus() .UseMempool() .UseWallet() .AddSQLiteWalletRepository() .AddPowPosMining(!(this.Network is StratisMain || this.Network is StratisTest || this.Network is StratisRegTest)) .AddRPC() .UseApi() .UseTestChainedHeaderTree() .MockIBD(); if (this.OverrideDateTimeProvider) { builder.OverrideDateTimeProviderFor <MiningFeature>(); } if (this.AddRewardClaimer) { builder.AddService <BaseFeature, RewardClaimer>(); } if (!this.EnablePeerDiscovery) { builder.RemoveImplementation <PeerConnectorDiscovery>(); builder.ReplaceService <IPeerDiscovery, BaseFeature>(new PeerDiscoveryDisabled()); } this.FullNode = (FullNode)builder.Build(); }