43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| # API description: http://www.zpool.ca/site/api
 | |
| # estimates: values in mBTC/MH/day, 
 | |
| #                      mBTC/PH/day for sha256
 | |
| #		       mBTC/GH/day for scrypt, blake, decred, x11, quark, qubit
 | |
| #		       mBTC/kS/day for equihash
 | |
| 
 | |
| import pprint
 | |
| import json
 | |
| import urllib.request
 | |
| import urllib.parse
 | |
| import sys
 | |
| import datetime
 | |
| import time
 | |
| import subprocess
 | |
| import os
 | |
| import socket
 | |
| 
 | |
| currency="USD"
 | |
| 
 | |
| # IPv4 address lookup
 | |
| 
 | |
| def addr(host):
 | |
|   return [addr[4][0] for addr in socket.getaddrinfo(host, None) if addr[0] == socket.AF_INET][0]
 | |
| 
 | |
| # grab something from a website
 | |
| 
 | |
| def fetch(prot, host, path, forceipv4=False):
 | |
|   if (forceipv4):
 | |
|     url=prot+"://"+addr(host)+"/"+path
 | |
|   else:
 | |
|     url=prot+"://"+host+"/"+path
 | |
|   r=urllib.request.Request(url, None, {"User-Agent": "Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1", "Pragma": "no-cache", "Host": host})
 | |
|   return urllib.request.urlopen(r).read().decode("utf-8")
 | |
| 
 | |
| # main
 | |
| 
 | |
| exchrate=float(json.loads(fetch("https", "api.coinbase.com", "/v2/exchange-rates?currency=BTC"))["data"]["rates"][currency])
 | |
| data=json.loads(fetch("http", "www.zpool.ca", "/api/currencies", True))
 | |
| 
 | |
| pprint.pprint(exchrate)
 |