41 lines
1.7 KiB
Python
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
|