Using random strides? Better off sticking to the original I posted, random ranges.
WanderingPhilospher code still better than on video
https://bitcointalksearch.org/topic/m.56579261however script need to have more feature it require some function to record what is already scan
run by random can be duplicate
may be use way split divide each equal and random quantity of total and random number
when got number random use multiply to get start point for scan
create array or text file to store number that used already
Visual Studio 2019
Console App (.NET Framework)
Program.cs
using System;
using System.Diagnostics;
using System.ComponentModel;
using System.IO;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace MyProcessSample
{
class MyProcess
{
public static void Main()
{
try
{
using (Process myProcess = new Process())
{
for (int i = 1; i <= 10000000; i++)
{
//myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.UseShellExecute = true;
//string filepath = '"' + Directory.GetCurrentDirectory() + "\\clBitCrack.exe" + '"';
string filepath = '"' + Directory.GetCurrentDirectory() + "\\cuBitCrack.exe" + '"';
//string filepath = '"' + Directory.GetCurrentDirectory() + "\\kangaroo.exe" + '"';
//string filepath = '"' + Directory.GetCurrentDirectory() + "\\Kangaroo.exe" + '"';
//string filepath = '"' + Directory.GetCurrentDirectory() + "\\BSGS.exe" + '"';
Console.WriteLine("The current directory is {0}", filepath);
myProcess.StartInfo.FileName = filepath;
//int start = random.Next(9223372036854775808, 18446744073709551616)
UInt64 Base = 0x8000000000000000;
var random = new Random();
UInt64 high32Rnd = (UInt64)random.Next();
UInt64 low32Rnd = (UInt64)random.Next();
UInt64 rnd64 = (high32Rnd << 32) | low32Rnd;
rnd64 >>= 1;
rnd64 += Base;
Console.WriteLine("rnd64 = {0}", rnd64);
//long longRand = Math.Abs(startup);
ulong step = 100000000;
ulong stop = rnd64 + step;
Console.WriteLine("Random = {0}", rnd64);
Console.WriteLine("Step = {0}", step);
Console.WriteLine("PlusStep = {0}", stop);
string beginHEX = rnd64.ToString("X");
string endHEX = stop.ToString("X");
string myArguments = " -c -u -o out.txt --keyspace " + beginHEX + ":+100000000 -i in.txt";
Console.WriteLine("Command = cuBitCrack.exe {0}", myArguments);
myProcess.StartInfo.Arguments = myArguments;
myProcess.StartInfo.CreateNoWindow = true;
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.ffffffK"));
Console.WriteLine("Start = {0}", beginHEX);
Console.WriteLine("End = {0}", endHEX);
myProcess.Start();
myProcess.WaitForExit();
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.ffffffK"));
Console.WriteLine("=========================");
if (i == 10000000)
{
break;
}
}
Console.WriteLine("Press any key to exit.");
Console.ReadLine();
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}