MaHu6
4/8/2018 - 2:17 AM

MinerInfo

MinerInfo

from socket import *

temp_ip = "192.168.0.144"
port = 8888
address = (temp_ip, port)
sock = socket(AF_INET, SOCK_STREAM)
is_connect = sock.connect_ex(address)
if is_connect == 0:
    # scuueed
    getMinerStat1 = b'{"method": "miner_getstat1","jsonrpc": "2.0","id":"0"}\n'
    miner_data = send_getstat(sock, getMinerStat1)
    print(miner_data)
else:
  print("socket connect failed")

#
def send_getstat(socket, message):
    try:

        socket.sendall(message)
        data = socket.recv(1024)
        
        result_data = data.decode()
        result_data = result_data[0:len(result_data) - 15]
        result_data = result_data + "}"
        result_data = result_data.replace('\"', '\'')

        miner_stat_dict = eval(result_data)
        miner_stat = miner_stat_dict.get('result')
        ethhashrate = miner_stat[2].split(';')

        result_dict = {}
        
        result_dict['EthHashRate'] = ethhashrate[0]
        result_dict['EthShare'] = ethhashrate[1]
        result_dict['EthRejectedShare'] = ethhashrate[2]
        result_dict['EthHashrateForAllGPUs'] = miner_stat[3]
        result_dict['DCRHashRate'] = miner_stat[4]
        result_dict['DCRHashrateForAllGPUs'] = miner_stat[5]
        result_dict['TemperatureAndFanspeed'] = str(miner_stat[6])

        return result_dict

    except Exception as e:
        return None