config = ConfigParser.ConfigParser()
# set some defaults, which will be overwritten by the config file
config.add_section('server')
- config.set('server','banner', 'Welcome to Electrum!')
+ config.set('server', 'banner', 'Welcome to Electrum!')
config.set('server', 'host', 'localhost')
config.set('server', 'native_port', '50000')
config.set('server', 'stratum_tcp_port', '50001')
from transports.stratum_tcp import TcpServer
from transports.native import NativeServer
- from modules.irc import ServerProcessor
+ from backends.irc import ServerProcessor
backend_name = config.get('server', 'backend')
if backend_name == "libbitcoin":
# NativeServer cannot be used with libbitcoin
native_port = None
config.set('server', 'native_port', '')
- from modules.python_bitcoin import BlockchainProcessor
- elif backend_name == "abe":
- from modules.abe import AbeProcessor as BlockchainProcessor
- else:
- sys.stderr.write('Unknown backend specified\n')
- sys.exit(-1)
+ try:
+ backend = __import__("backends." + backend_name,
+ fromlist=["BlockchainProcessor"])
+ except ImportError:
+ sys.stderr.write("Unknown backend '%s' specified\n" % backend_name)
+ raise
# Create hub
dispatcher = Dispatcher()
shared = dispatcher.shared
# Create and register processors
- chain_proc = BlockchainProcessor(config)
+ chain_proc = backend.BlockchainProcessor(config)
dispatcher.register('blockchain', chain_proc)
server_proc = ServerProcessor(config)