public CoreNode(string folder, INodeRunner runner, NodeBuilder builder, Network network, bool cleanfolders = true, string configfile = "bitcoin.conf")
        {
            this.runner = runner;
            this.Folder = folder;
            this.State  = CoreNodeState.Stopped;
            if (cleanfolders)
            {
                this.CleanFolder();
            }

            Directory.CreateDirectory(folder);
            this.DataFolder = Path.Combine(folder, "data");
            Directory.CreateDirectory(this.DataFolder);
            var pass = Encoders.Hex.EncodeData(RandomUtils.GetBytes(20));

            this.creds  = new NetworkCredential(pass, pass);
            this.Config = Path.Combine(this.DataFolder, configfile);
            this.ConfigParameters.Import(builder.ConfigParameters);
            this.ports = new int[2];
            this.FindPorts(this.ports);

            var loggerFactory = new ExtendedLoggerFactory();

            loggerFactory.AddConsoleWithFilters();

            this.networkPeerFactory = new NetworkPeerFactory(network, DateTimeProvider.Default, loggerFactory);
        }
        public CoreNode(string folder, INodeRunner runner, NodeBuilder builder)
        {
            _Runner       = runner;
            this._Builder = builder;
            this._Folder  = folder;
            _State        = CoreNodeState.Stopped;
            CleanFolder();
            Directory.CreateDirectory(folder);
            dataDir = Path.Combine(folder, "data");
            Directory.CreateDirectory(dataDir);
            var pass = Encoders.Hex.EncodeData(RandomUtils.GetBytes(20));

            creds   = new NetworkCredential(pass, pass);
            _Config = Path.Combine(dataDir, "bitcoin.conf");
            ConfigParameters.Import(builder.ConfigParameters);
            ports = new int[2];
            FindPorts(ports);
        }
        public CoreNode(string folder, INodeRunner runner, NodeBuilder builder, bool cleanfolders = true, string configfile = "bitcoin.conf")
        {
            this.runner  = runner;
            this.builder = builder;
            this.folder  = folder;
            this.state   = CoreNodeState.Stopped;
            if (cleanfolders)
            {
                CleanFolder();
            }
            Directory.CreateDirectory(folder);
            this.dataDir = Path.Combine(folder, "data");
            Directory.CreateDirectory(this.dataDir);
            var pass = Encoders.Hex.EncodeData(RandomUtils.GetBytes(20));

            this.creds  = new NetworkCredential(pass, pass);
            this.config = Path.Combine(this.dataDir, configfile);
            this.ConfigParameters.Import(builder.ConfigParameters);
            this.ports = new int[2];
            FindPorts(this.ports);
        }
Example #4
0
        public CoreNode(string folder, INodeRunner runner, NodeBuilder builder, Network network, string configfile = "bitcoin.conf")
        {
            this.runner     = runner;
            this.Folder     = folder;
            this.DataFolder = Path.Combine(folder, "data");

            this.State = CoreNodeState.Stopped;
            var pass = Encoders.Hex.EncodeData(RandomUtils.GetBytes(20));

            this.creds  = new NetworkCredential(pass, pass);
            this.Config = Path.Combine(this.DataFolder, configfile);
            this.ConfigParameters.Import(builder.ConfigParameters);
            this.ports = new int[2];
            this.FindPorts(this.ports);

            var loggerFactory = new ExtendedLoggerFactory();

            loggerFactory.AddConsoleWithFilters();

            this.networkPeerFactory = new NetworkPeerFactory(network, DateTimeProvider.Default, loggerFactory, new PayloadProvider().DiscoverPayloads(), new SelfEndpointTracker());
        }