using System.Collections.Generic;
static void Main(string[] args)
BigDecimal.Precision = 5000;
List<int> listaInt = new List<int> { 66,67,68,69,71,72,73,74,76,77,78,79,81,82,83,84,86,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,106,107,108,109,111,112,113,114,116,117,118,119,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160 };
List<string> addresses = new List<string> {"1NBC8uXJy1GiJ6drkiZa1WuKn51ps7EPTv" };
Random random = new Random();
string maxExample = "000000000000000000000000000000000000000000000003ffffffffffffffff";
List<BigDecimal> privateKeyList = new List<BigDecimal>();
foreach (int NUM in listaInt)
double d = random.NextDouble() * (0.288 - 0.111) + 0.111;
Console.WriteLine($"z found: {z}");
Console.WriteLine($"y found: {y}");
Console.WriteLine($"x1 found: {x1}");
Console.WriteLine($"x2 found: {x2}");
BigDecimal misecret1 = new BigDecimal(Math.Pow(2, x1));
BigDecimal misecret2 = new BigDecimal(Math.Pow(2, x2));
privateKeyList.Add(misecret1.WholeValue);
privateKeyList.Add(misecret2.WholeValue);
Console.WriteLine($"misecret1 found: {misecret1.WholeValue}");
Console.WriteLine($"misecret2 found: {misecret2.WholeValue}");
foreach (var keyI in privateKeyList)
BigInteger bigInteger = BigInteger.Parse(keyI.ToString());
string hexadecimalValue = bigInteger.ToString("X");
Console.WriteLine($"hexadecimalValue found: {hexadecimalValue}");
string hexadecimal = hexadecimalValue.PadLeft(maxExample.Length, '0').ToLower();
byte[] privateKeyBytes = Enumerable.Range(0, hexadecimal.Length).Where(x => x % 2 == 0).Select(x => Convert.ToByte(hexadecimal.Substring(x, 2), 16)).ToArray();
Console.WriteLine($"privateKeyHex found: {hexadecimal} bigInteger found: {bigInteger}");
var privateKey = new Key(privateKeyBytes);
string privateKeyHex = privateKey.ToHex();
PubKey publicKey = privateKey.PubKey;
BitcoinAddress bitcoinAddress = publicKey.GetAddress(ScriptPubKeyType.Legacy, Network.Main);
Console.WriteLine($"Address found: {bitcoinAddress} privateKeyHex found: {hexadecimal}");
if (addresses.Contains(bitcoinAddress.ToString()))
BitcoinSecret mainNetPrivateKey = privateKey.GetBitcoinSecret(Network.Main);
string textToWrite = $"Private Key: {privateKey}\nAddress: {bitcoinAddress}\nWIF: {mainNetPrivateKey}\n";
string filePath = "found_addresses.txt";
File.AppendAllText(filePath, textToWrite);
Console.WriteLine($"Address found: {bitcoinAddress} Private Key: {privateKey} WIF: {mainNetPrivateKey}");