Post
Topic
Board Bitcoin Discussion
Re: == Bitcoin challenge transaction: ~100 BTC total bounty to solvers! ==UPDATED==
by
fxsniper
on 21/03/2021, 15:35:50 UTC
You can use it to solve 64 puzzles.
https://www.youtube.com/watch?v=dUMaP6hVCo4
BTCGood luck.
Using random strides?  Better off sticking to the original I posted, random ranges.

WanderingPhilospher code still better than on video
https://bitcointalk.org/index.php?topic=4453897.msg56579261#msg56579261

however 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
Code:

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);
            }
        }
    }
}