mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-04-28 19:55:20 +08:00
54
opennamed.py
54
opennamed.py
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Directory used for storing .pid file etc
|
||||
Reference in New Issue
Block a user