123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
- import time, json, os, sys, re, socket, json
- # Either returns domain's address or none if it doesn't exist
- # Supports subdomains and .bit on the end
- def lookupDomain(domain):
- domain = domain.lower()
-
- #remove .bit on end
- if domain[-4:] == ".bit":
- domain = domain[0:-4]
-
- #check for subdomain
- if domain.find(".") != -1:
- subdomain = domain[0:domain.find(".")]
- domain = domain[domain.find(".")+1:]
- else:
- subdomain = ""
-
- try:
- domain_object = rpc.name_show("d/"+domain)
- except:
- #domain doesn't exist
- return None
-
- domain_json = json.loads(domain_object['value'])
-
- try:
- domain_address = domain_json["zeronet"][subdomain]
- except:
- #domain exists but doesn't have any zeronet value
- return None
-
- return domain_address
- # Loading config...
- # Check whether platform is on windows or linux
- # On linux namecoin is installed under ~/.namecoin, while on on windows it is in %appdata%/Namecoin
- if sys.platform == "win32":
- namecoin_location = os.getenv('APPDATA') + "/Namecoin/"
- else:
- namecoin_location = os.path.expanduser("~/.namecoin/")
- # Getting rpc connect details
- namecoin_conf = open(namecoin_location + "namecoin.conf").read()
- # Connecting to RPC
- rpc_user = re.search("rpcuser=(.*)$", namecoin_conf, re.M).group(1)
- rpc_pass = re.search("rpcpassword=(.*)$", namecoin_conf, re.M).group(1)
- rpc_url = "http://%s:%s@127.0.0.1:8336" % (rpc_user, rpc_pass)
- rpc = AuthServiceProxy(rpc_url, timeout=60*5)
- """
- while 1:
- print "Waiting for new block",
- sys.stdout.flush()
- while 1:
- try:
- rpc = AuthServiceProxy(rpc_url, timeout=60*5)
- if (int(rpc.getinfo()["blocks"]) > last_block): break
- time.sleep(1)
- rpc.waitforblock()
- print "Found"
- break # Block found
- except socket.timeout: # Timeout
- print ".",
- sys.stdout.flush()
- except Exception, err:
- print "Exception", err.__class__, err
- time.sleep(5)
- last_block = int(rpc.getinfo()["blocks"])
- for block_id in range(config["lastprocessed"]+1, last_block+1):
- processBlock(block_id)
- config["lastprocessed"] = last_block
- open(config_path, "w").write(json.dumps(config, indent=2))
- """
|