For a month I have been trying this idea for generating the key/address for puzzle #69 as it has a single leading character.
I call it the Hex Slider Concatenator.
import tkinter as tk
from bitcoin import *
import sys
class HexSliderConcatenator([Suspicious link removed]):
def __init__(self):
super().__init__()
self.hex_values = ['0'] * 17 #set all values.
self.title("Hex Slider Concatenator")
self.sliders = []
for i in range(17): # number of slider bars
slider = tk.Scale(self, from_=0x0, to=0xf, orient="vertical", command=lambda value, i=i: self.update_hex_string(value, i))
slider.pack(side=tk.LEFT)
self.sliders.append(slider)
slider.config(bg="lightblue", bd=5, relief="ridge", sliderlength=30, width=20)
self.result_label = tk.Label(self, text="".join(self.hex_values))
self.result_label.pack()
def update_hex_string(self, value, index):
self.hex_values[index] = format(int(value), 'x')
result = "1" + "".join(self.hex_values) #change to "1" for leading character.
self.result_label.config(text=result)
# print(result)
expected_address = "19vkiEajfhuZ8bs8Zu2jgmC6oqZbWqhxhG" #puzzle 69
private_key = '0' * 46 + result + '22'
public_key = privtopub(private_key)
btc = pubtoaddr(public_key)
print(private_key)
print(public_key)
print(btc)
if btc == expected_address:
self.match_found = True
print("Key Found!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:" + private_key)
if __name__ == "__main__":
app = HexSliderConcatenator()
app.mainloop()