import socket, hashlib # Global variables username = "user" # Edit this to your username, mind the quotes pool_address = "51.15.127.80" pool_port = 2811 print("Starting 3DS Miner, you probably will get Output on an error.") while True: try: soc = socket.socket() soc.connect((str(pool_address), int(pool_port))) # Connect to the server server_version = soc.recv(3).decode() # Get server version print("Server is on version", server_version) # Mining section while True: try: soc.send(bytes("JOB," + str(username) + ",ESP32", encoding="utf8")) # Send job request # Don't mind the "ESP32" for now since it is in an early state job = soc.recv(100).decode() # Get work from pool job = job.split(",") # Split received data to job (job and difficulty) difficulty = job[2] for result in range( 100 * int(difficulty) + 1 ): # Calculate hash with difficulty ducos1 = hashlib.sha1( str(job[0] + str(result)).encode("utf-8") ).hexdigest() # Generate hash if job[1] == ducos1: # If result is even with job soc.send( bytes(str(result) + "," + ",3DS Miner unstable)", encoding="utf8") ) # Send result of hashing algorithm to pool feedback = soc.recv(1024).decode() # Get feedback about the result print(feedback) except: break except: pass