Exemplo n.º 1
0
    def __init__(self, store_file, my_market_ip, my_market_port, my_node_port,
                 my_node_file, seed_uri, market_id):

        self.transport = CryptoTransportLayer(my_market_ip, my_market_port,
                                              market_id, store_file)
        self.transport.join_network(seed_uri)

        data_store = SQLiteDataStore(
        )  # creates in-memory database, should be persistent
        known_nodes = self.known_entangled_nodes(my_node_file, seed_uri,
                                                 my_node_port)
        # initializes node with specified port and an in-memory SQLite database
        self.node = entangled.node.EntangledNode(udpPort=my_node_port,
                                                 dataStore=data_store)

        self.node.joinNetwork(known_nodes)

        self.market = Market(self.transport, self.node, store_file)

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", tornado.web.StaticFileHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport, node=self.market))]

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)
        tornado.web.Application.__init__(self, handlers, **settings)
Exemplo n.º 2
0
    def __init__(self, service):
        settings = dict(debug=True)
        settings.update(options.as_dict())
        # legacy support
        if config.get('legacy-url', False):
            if ws_legacy_enabled:
                self.ws_client = LegacyClient("wss://" +
                                              config.get('legacy-url'))
            else:
                print "legacy-url is configured but autobahn not installed"
                self.ws_client = False
        client = obelisk.ObeliskOfLightClient(service)
        self.obelisk_handler = obelisk_handler.ObeliskHandler(
            client, self.ws_client)
        self.brc_handler = broadcast.BroadcastHandler()
        self.p2p = CryptoTransportLayer(config.get('p2p-port', 8889),
                                        config.get('external-ip', '127.0.0.1'),
                                        config.get('internal-ip', None))
        self.p2p.join_network(config.get('seeds', []))
        self.json_chan_handler = jsonchan.JsonChanHandler(self.p2p)
        self.ticker_handler = ticker.TickerHandler()

        handlers = [
            # /block/<block hash>
            (r"/block/([^/]*)(?:/)?", rest_handlers.BlockHeaderHandler),

            # /block/<block hash>/transactions
            (r"/block/([^/]*)/transactions(?:/)?",
             rest_handlers.BlockTransactionsHandler),

            # /tx/
            (r"/tx(?:/)?", rest_handlers.TransactionPoolHandler),

            # /tx/<txid>
            (r"/tx/([^/]*)(?:/)?", rest_handlers.TransactionHandler),

            # /address/<address>
            (r"/address/([^/]*)(?:/)?", rest_handlers.AddressHistoryHandler),

            # /height
            (r"/height(?:/)?", rest_handlers.HeightHandler),

            # /height
            (r"/status(?:/)?", status.StatusHandler, {
                "app": self
            }),

            # /
            (r"/", QuerySocketHandler)
        ]

        tornado.web.Application.__init__(self, handlers, **settings)
Exemplo n.º 3
0
    def __init__(self, store_file, my_market_ip, my_market_port, seed_uri):

        self.transport = CryptoTransportLayer(my_market_ip, my_market_port,
                                              store_file)
        self.transport.join_network(seed_uri)
        self.market = Market(self.transport)

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", tornado.web.StaticFileHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport, node=self.market))]

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)
        tornado.web.Application.__init__(self, handlers, **settings)
Exemplo n.º 4
0
    def __init__(self):

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)

        self.transport = CryptoTransportLayer(12345)
        self.transport.join_network()
        #self.protocol_handler = ProtocolHandler(self.transport)
        self.market = Market(self.transport)

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", tornado.web.StaticFileHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport, node=self.market))]

        tornado.web.Application.__init__(self, handlers, **settings)
Exemplo n.º 5
0
    def __init__(self,
                 market_ip,
                 market_port,
                 market_id=1,
                 bm_user=None,
                 bm_pass=None,
                 bm_port=None,
                 seed_peers=[],
                 seed_mode=0,
                 dev_mode=False,
                 db_path='db/ob.db'):

        db = Obdb(db_path)

        self.transport = CryptoTransportLayer(market_ip, market_port,
                                              market_id, db, bm_user, bm_pass,
                                              bm_port, seed_mode, dev_mode)

        self.market = Market(self.transport, db)

        def post_joined():
            self.transport._dht._refreshNode()
            self.market.republish_contracts()

        peers = seed_peers if seed_mode == 0 else []
        self.transport.join_network(peers, post_joined)

        join_network_loop = ioloop.PeriodicCallback(
            self.transport.join_network, 60000)
        join_network_loop.start()

        Thread(target=reactor.run, args=(False, )).start()

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", tornado.web.StaticFileHandler, {
                        'path': './html'
                    }),
                    (r"/ws", WebSocketHandler,
                     dict(transport=self.transport, market=self.market,
                          db=db))]

        # TODO: Move debug settings to configuration location
        settings = dict(debug=True)
        tornado.web.Application.__init__(self, handlers, **settings)
Exemplo n.º 6
0
    def __init__(self, service):

        settings = dict(debug=True)
        settings.update(options.as_dict())
        client = obelisk.ObeliskOfLightClient(service)
        self.obelisk_handler = obelisk_handler.ObeliskHandler(client)
        self.brc_handler = broadcast.BroadcastHandler()
        self.p2p = CryptoTransportLayer(config.get('p2p-port', 8889), config.get('external-ip', '127.0.0.1'))
        self.p2p.join_network(config.get('seeds', []))
        self.json_chan_handler = jsonchan.JsonChanHandler(self.p2p)
        self.ticker_handler = ticker.TickerHandler()

        handlers = [
            # /block/<block hash>
            (r"/block/([^/]*)(?:/)?", rest_handlers.BlockHeaderHandler),

            # /block/<block hash>/transactions
            (r"/block/([^/]*)/transactions(?:/)?",
                rest_handlers.BlockTransactionsHandler),

            # /tx/
            (r"/tx(?:/)?", rest_handlers.TransactionPoolHandler),

            # /tx/<txid>
            (r"/tx/([^/]*)(?:/)?", rest_handlers.TransactionHandler),

            # /address/<address>
            (r"/address/([^/]*)(?:/)?", rest_handlers.AddressHistoryHandler),

            # /height
            (r"/height(?:/)?", rest_handlers.HeightHandler),

            # /height
            (r"/status(?:/)?", status.StatusHandler, {"app": self}),

            # /
            (r"/", QuerySocketHandler)
        ]

        tornado.web.Application.__init__(self, handlers, **settings)