def monitor_chain_state(self): self.peer_manager.monitor_chain_state() last_block = self._chain_manager.get_last_block() block_metadata = self.db_state.get_block_metadata(last_block.headerhash) node_chain_state = qrl_pb2.NodeChainState(block_number=last_block.block_number, header_hash=last_block.headerhash, cumulative_difficulty=bytes(block_metadata.cumulative_difficulty), timestamp=int(time.time())) self.peer_manager.broadcast_chain_state(node_chain_state=node_chain_state) channel = self.peer_manager.get_better_difficulty(block_metadata.cumulative_difficulty) logger.debug('Got better difficulty %s', channel) if channel: logger.debug('Connection id >> %s', channel.connection_id) channel.get_headerhash_list(self._chain_manager.height) reactor.callLater(config.user.chain_state_broadcast_period, self.monitor_chain_state)