Merge pull request #43 from onenameio/dht

Dht
This commit is contained in:
Muneeb Ali
2015-02-03 18:17:37 -05:00
4 changed files with 61 additions and 7 deletions

View File

@@ -165,15 +165,57 @@ class OpennamedRPC(jsonrpc.JSONRPC):
return
old_block = 0
def reindex_blockchain():
from twisted.python import log
global old_block
try:
new_block = bitcoind.getinfo()['blocks']
except:
new_block = 0
if old_block == new_block:
log.msg('Blockchain: no new blocks')
else:
# call the reindex func here
check_blocks = new_block - old_block
message = 'Blockchain: checking last %s block(s)' % check_blocks
log.msg(message)
old_block = new_block
def get_working_dir():
from os.path import expanduser
home = expanduser("~")
working_dir = os.path.join(home, '.opennamed')
if not os.path.exists(working_dir):
os.makedirs(working_dir)
return working_dir
def run_server(foreground=False):
""" run the opennamed server
"""
from opennamelib.config import OPENNAMED_PID_FILE, OPENNAMED_LOG_FILE
from opennamelib.config import OPENNAMED_TAC_FILE
working_dir = get_working_dir()
current_dir = os.path.abspath(os.path.dirname(__file__))
tac_file = current_dir + '/opennamed.tac'
log_file = current_dir + '/tmp/opennamed.log'
pid_file = current_dir + '/tmp/opennamed.pid'
tac_file = os.path.join(current_dir, OPENNAMED_TAC_FILE)
log_file = os.path.join(working_dir, OPENNAMED_LOG_FILE)
pid_file = os.path.join(working_dir, OPENNAMED_PID_FILE)
if foreground:
command = 'twistd --pidfile=%s -noy %s' % (pid_file, tac_file)
@@ -202,7 +244,11 @@ def stop_server():
import signal
import os
pid_file = os.path.dirname(__file__) + '/tmp/opennamed.pid'
from opennamelib.config import OPENNAMED_PID_FILE
working_dir = get_working_dir()
pid_file = os.path.join(working_dir, OPENNAMED_PID_FILE)
try:
fin = open(pid_file)

View File

@@ -13,18 +13,22 @@ sys.path.insert(0, current_dir)
from txjsonrpc.netstring import jsonrpc
from twisted.application import service, internet
from twisted.internet.task import LoopingCall
from kademlia.network import Server
from dht.storage import OpennameStorage, hostname_to_ip
from opennamelib.config import DEFAULT_DHT_SERVERS, DHT_SERVER_PORT, OPENNAMED_PORT
dht_server = Server(storage=OpennameStorage())
bootstrap_servers = hostname_to_ip(DEFAULT_DHT_SERVERS)
dht_server.bootstrap(bootstrap_servers)
from opennamed import OpennamedRPC
from opennamed import OpennamedRPC, reindex_blockchain
from opennamelib.config import REINDEX_FREQUENCY
lc = LoopingCall(reindex_blockchain)
lc.start(REINDEX_FREQUENCY)
application = service.Application("opennamed")

View File

@@ -34,6 +34,9 @@ VERSION = 'v0.1-beta'
RPC_TIMEOUT = 5 # seconds
DEFAULT_OPENNAMED_PORT = 6264 # port 6263 is 'NAME' on a phone keypad
OPENNAMED_PID_FILE = 'opennamed.pid'
OPENNAMED_LOG_FILE = 'opennamed.log'
OPENNAMED_TAC_FILE = 'opennamed.tac'
try:
OPENNAMED_SERVER = os.environ['OPENNAMED_SERVER']
@@ -65,6 +68,8 @@ except KeyError:
BITCOIND_USER = 'openname'
BITCOIND_PASSWD = 'opennamesystem'
REINDEX_FREQUENCY = 5 # in seconds
""" api configs
"""

View File

@@ -1 +0,0 @@
Directory used for storing .pid file etc