Я пытаюсь переписать Vanitygen в C #.Это мой код на данный момент
private void btnGenerate_Click(object sender, EventArgs e) {
KeyPair kp = KeyPair.Create(ExtraEntropy.GetEntropy()); //Generate private key
string wifprivatekey = new KeyPair(kp.PrivateKeyBytes).PrivateKeyBase58; //Create wif private key
string address = new AddressBase(kp, AddressTypeByte).AddressBase58);// Create base 58 address
if (address.StartsWith(pattern)) //compare value with input pattern
{
using (var writer = File.AppendText(@"C:\Users\ran242\Desktop\result.txt"))
{
writer.WriteLine("Pattern: "+pattern);
writer.WriteLine("Address: "+address);
writer.WriteLine("Privatekey: "+wifprivatekey);
}
}
}
Я тестирую его для многократного запуска, используя Parallel.For
.Пока код работает очень медленно, поэтому я намерен улучшить производительность.При параллельной работе он может проверять только 1000 адресов в течение примерно 3 секунд и даже не использует всю мощность процессора
System.Threading.Tasks.Parallel.For(0, 1000, i =>
{
KeyPair kp = KeyPair.Create(ExtraEntropy.GetEntropy()); //Generate private key
string wifprivatekey = new KeyPair(kp.PrivateKeyBytes).PrivateKeyBase58; //Create wif private key
string address = new AddressBase(kp, AddressTypeByte).AddressBase58);// Create base 58 address
if (address.StartsWith(pattern)) //compare value with input pattern
{
using (var writer = File.AppendText(@"C:\Users\ran242\Desktop\result.txt"))
{
writer.WriteLine("Pattern: "+pattern);
writer.WriteLine("Address: "+address);
writer.WriteLine("Privatekey: "+wifprivatekey);
}
}
});

IsЕсть ли способ, которым я могу улучшить код и использовать 100% моего ЦП или любого ЦП всякий раз, когда я запускаю этот код на другом компьютере?спасибо