static void Main(string[] args) { var serviceCollection = new ServiceCollection(); serviceCollection.AddCore(); serviceCollection.AddInMemory(); var serviceProvider = serviceCollection.BuildServiceProvider(); var nodeLauncherFactory = serviceProvider.GetService <INodeLauncherFactory>(); Console.Title = "FULL NODE / MINER"; Console.WriteLine("==== Welcome to SimpleBlockChain (FULL NODE) ===="); _ipBytes = IPAddress.Parse("192.168.76.131").MapToIPv6().GetAddressBytes(); var network = MenuHelper.ChooseNetwork(); _nodeLauncher = nodeLauncherFactory.Build(network, ServiceFlags.NODE_NETWORK); var p2pNode = _nodeLauncher.GetP2PNode(); p2pNode.StartNodeEvent += StartP2PNodeEvent; p2pNode.StopNodeEvent += StopP2PNodeEvent; p2pNode.NewMessageEvent += NewMessageP2PEvent; _nodeLauncher.ConnectP2PEvent += ConnectP2PEvent; _nodeLauncher.DisconnectP2PEvent += DisconnectP2PEvent; _nodeLauncher.LaunchP2PNode(_ipBytes); _nodeLauncher.LaunchRPCNode(); ExecuteFullNodeMenu(); }
static void Main(string[] args) { var serviceCollection = new ServiceCollection(); serviceCollection.AddCore(); serviceCollection.AddInMemory(); var serviceProvider = serviceCollection.BuildServiceProvider(); var nodeLauncherFactory = serviceProvider.GetService <INodeLauncherFactory>(); // https://bitcoin.org/en/developer-guide#full-service-wallets Console.Title = "WALLET NODE"; Console.WriteLine("==== Welcome to SimpleBlockChain (WALLET) ===="); var network = MenuHelper.ChooseNetwork(); _rpcClient = new RpcClient(network); var ipBytes = IPAddress.Parse("192.168.76.132").MapToIPv6().GetAddressBytes(); // VIRTUAL NETWORK. _nodeLauncher = nodeLauncherFactory.Build(network, ServiceFlags.NODE_NONE); var p2pNode = _nodeLauncher.GetP2PNode(); p2pNode.StartNodeEvent += StartP2PNodeEvent; p2pNode.NewMessageEvent += NewP2PMessageEvent; _nodeLauncher.ConnectP2PEvent += ConnectP2PEvent; _nodeLauncher.DisconnectP2PEvent += DisconnectP2PEvent; _nodeLauncher.LaunchP2PNode(ipBytes); ExecuteMenu(); }
static void Main(string[] args) { // https://bitcoin.org/en/developer-guide#full-service-wallets Console.Title = "PROTOCOL TESTER NODE"; Console.WriteLine("==== Welcome to SimpleBlockChain (PROTOCOL TESTER) ===="); var network = MenuHelper.ChooseNetwork(); _rpcClient = new RpcClient(network); var ipBytes = IPAddress.Parse("192.168.76.133").MapToIPv6().GetAddressBytes(); // VIRTUAL NETWORK. _nodeLauncher = new NodeLauncher(network, ServiceFlags.NODE_NONE); var p2pNode = _nodeLauncher.GetP2PNode(); p2pNode.StartNodeEvent += StartP2PNodeEvent; p2pNode.NewMessageEvent += NewP2PMessageEvent; _nodeLauncher.ConnectP2PEvent += ConnectP2PEvent; _nodeLauncher.DisconnectP2PEvent += DisconnectP2PEvent; _nodeLauncher.LaunchP2PNode(ipBytes); ExecuteMenu(); }
private static void ExecuteP2PNetworkRunningMenu(int number) { if (number < 0 || number > 4) { MenuHelper.DisplayError("Enter a number between [1-4]"); ExecuteFullNodeMenu(); return; } switch (number) { case 1: Console.WriteLine($"Number of active nodes {_nodeLauncher.GetActivePeers().Count}"); break; case 2: var peers = _nodeLauncher.GetActivePeers(); var ips = peers.Select(p => (new IPAddress(p.GetCurrentIpAddress().Ipv6)).MapToIPv4().ToString()); foreach (var ip in ips) { Console.WriteLine(ip); } break; case 3: _nodeLauncher.RefreshMemPool(); _nodeLauncher.RefreshBlockChain(); break; case 4: break; case 5: _nodeLauncher.GetP2PNode().Stop(); _nodeLauncher.GetP2PNetwork().Stop(); break; } ExecuteFullNodeMenu(); }
static void Main(string[] args) { var serviceCollection = new ServiceCollection(); serviceCollection.AddCore(); serviceCollection.AddInMemory(); var serviceProvider = serviceCollection.BuildServiceProvider(); var nodeLauncherFactory = serviceProvider.GetService <INodeLauncherFactory>(); Console.WriteLine("==== Welcome to SimpleBlockChain (SEED NODE) ===="); var network = MenuHelper.ChooseNetwork(); var ipBytes = IPAddress.Parse(Constants.DNS_IP_ADDRESS).MapToIPv6().GetAddressBytes(); _nodeLauncher = nodeLauncherFactory.Build(network, ServiceFlags.NODE_NETWORK); var p2pNode = _nodeLauncher.GetP2PNode(); p2pNode.StartNodeEvent += StartP2PNodeEvent; p2pNode.NewMessageEvent += NewP2PMessageEvent; _nodeLauncher.ConnectP2PEvent += ConnectP2PEvent; _nodeLauncher.DisconnectP2PEvent += DisconnectP2PEvent; _nodeLauncher.LaunchP2PNode(ipBytes); Console.ReadLine(); }