import requests
import json
from tkinter import *
root = Tk()
root.wm_title("Mining Calc")
diff = StringVar()
hashpower = StringVar()
hashpower.set("100")
hashtype = StringVar()
hashtype.set("GH/s")
btcprice = StringVar()
answer = StringVar()
def calculate(w, x, y, z):
x = float(x)
w = float(w)
z = float(z)
if y == 'H/s':
pass
elif y == 'KH/s':
x = x * 1000
elif y == 'MH/s':
x = (x * 1000) * 1000
elif y == 'GH/s':
x = ((x * 1000) * 1000) * 1000
else:
x = (((x * 1000) * 1000) * 1000) * 1000
mine = ((86400 * x * 25) / ((2**32) * w))
mine = float(mine)
mine = ("%.6f" % mine)
mine = float(mine)
mine_usd = mine * z
mine_usd = ("%.2f" % mine_usd)
labeltext = [mine, ' or ',mine_usd,' USD']
labeltext = ''.join(str(v) for v in labeltext)
answer.set(labeltext)
return
label1 = Label(root, text="Difficulty:")
label1.pack()
difficulty_entry = Entry(root, textvariable=diff)
difficulty_entry.pack()
label2 = Label(root, text="GH/s:")
label2.pack()
hash_entry = Entry(root, textvariable=hashpower)
hash_entry.pack()
label3 = Label(root, text="BTC Price:")
label3.pack()
price_entry = Entry(root, textvariable=btcprice)
price_entry.pack()
label4 = Label(root, text="BTC/day:")
label4.pack()
ans = Entry(root, textvariable=answer)
ans.pack()
hashtype_select = OptionMenu(root, hashtype, "H/s", "KH/s", "MH/s", "GH/s", \
"TH/s")
hashtype_select.pack()
button1 = Button(root, text="Calculate", command= lambda: calculate(diff.get(), hashpower.get(), hashtype.get(), btcprice.get()))
button1.pack()
url = requests.get("https://blockchain.info/stats?format=json").json()
diff.set("%.1f" % (url['difficulty']))
btcprice.set("%.2f" % (url['market_price_usd']))
mainloop()