diff --git a/scripts/refreshconfig.sh b/scripts/refreshconfig.sh new file mode 100644 index 0000000..dd1d55f --- /dev/null +++ b/scripts/refreshconfig.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# Send notification to Stratum mining instance add a new litecoind instance to the pool + +import socket +import json +import sys +import argparse +import time + +start = time.time() + +parser = argparse.ArgumentParser(description='Refresh the config of the Stratum instance.') +parser.add_argument('--password', dest='password', type=str, help='use admin password from Stratum server config') +parser.add_argument('--host', dest='host', type=str, default='localhost', help='hostname of Stratum mining instance') +parser.add_argument('--port', dest='port', type=int, default=3333, help='port of Stratum mining instance') +args = parser.parse_args() + +if args.password == None: + parser.print_help() + sys.exit() + +message = {'id': 1, 'method': 'mining.refresh_config', 'params': []} + +try: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.connect((args.host, args.port)) + s.sendall(json.dumps(message)+"\n") + data = s.recv(16000) + s.close() +except IOError: + print "Refresh Config: Cannot connect to the pool" + sys.exit() + +for line in data.split("\n"): + if not line.strip(): + # Skip last line which doesn't contain any message + continue + + message = json.loads(line) + if message['id'] == 1: + if message['result'] == True: + print "Refresh Config: done in %.03f sec" % (time.time() - start) + else: + print "Refresh Config: Error during request:", message['error'][1] + else: + print "Refresh Config: Unexpected message from the server:", message