Ejemplo n.º 1
0
    def run(self):
        # Initialize miners.
        stratums = None
        while stratums is None:
            try:
                payrates = nicehash.simplemultialgo_info(self._settings)
                stratums = nicehash.stratums(self._settings)
            except Exception as err:
                logging.warning(
                    f'NiceHash stats: {err}, retrying in 5 seconds')
                time.sleep(5)
            else:
                self._payrates = payrates
        self._miners = [miner(main.CONFIG_DIR) for miner in all_miners]
        for miner in self._miners:
            miner.settings = self._settings
            miner.stratums = stratums
        self._algorithms = sum([miner.algorithms for miner in self._miners],
                               [])

        # Initialize profit-switching.
        self._profit_switch = NaiveSwitcher(self._settings)
        self._profit_switch.reset()

        self._scheduler.enter(0, MiningThread.PROFIT_PRIORITY,
                              self._switch_algos)
        self._scheduler.enter(0, MiningThread.STATUS_PRIORITY,
                              self._read_status)
        self._scheduler.run()
Ejemplo n.º 2
0
    def run(self):
        # Initialize miners.
        logging.info('Querying NiceHash for miner connection information...')
        payrates = stratums = None
        while payrates is None:
            try:
                payrates = nicehash.simplemultialgo_info(self._settings)
                stratums = nicehash.stratums(self._settings)
            except Exception as err:
                logging.warning(
                    f'NiceHash stats: {err}, retrying in 5 seconds')
                time.sleep(5)
            else:
                self._payrates = (payrates, datetime.now())
        for miner in self._miners:
            miner.stratums = stratums
            miner.load()
        self._algorithms = sum([miner.algorithms for miner in self._miners],
                               [])

        # Initialize profit-switching.
        self._profit_switch = NaiveSwitcher(self._settings)
        self._profit_switch.reset()

        self._scheduler.enter(0, MiningSession.PROFIT_PRIORITY,
                              self._switch_algos)
        self._scheduler.run()
Ejemplo n.º 3
0
 def test_stratum(self):
     stratums = nh.stratums(self.settings)
     self.assertIn('cryptonight.eu.nicehash.com', stratums['cryptonight'])