duco-3ds/src/main.py

41 lines
1.7 KiB
Python

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