es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo hacer que una pestaña del navegador funcione intensamente sin bloquearse?

Estoy intentando implementar un mecanismo de prueba de trabajo similar al de Bitcoin para evitar registros de cuentas de spam en un nuevo sitio web que estoy creando.

Cuando intentas hacer spam en la sección de creación de cuentas del sitio, te ves obligado/a a hashear un mensaje firmado una y otra vez con un nonce creciente para encontrar un número de hash bajo y demostrar que has realizado cierto trabajo… de lo contrario, el sitio no se molestará en procesar tu intento de registro.

El código que he escrito funciona muy bien… hasta que se ejecuta durante demasiado tiempo y, eventualmente, la pestaña se bloquea (si configuro la dificultad demasiado alta, por ejemplo).

¿Hay alguna forma de detectar y evitar que esto haga que la pestaña del navegador se bloquee? Sería muy molesto para el usuario tener que estar constantemente actualizando la página.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, hay varias formas de prevenir que la pestaña del navegador se bloquee al implementar un mecanismo de prueba de trabajo. Un enfoque es utilizar Web Workers, que permiten que el trabajo se desvíe a un hilo separado, evitando que el hilo principal de la interfaz de usuario se sobrecargue. Otro enfoque es implementar un límite de tiempo en el trabajo, de manera que si la prueba de trabajo está tardando demasiado, se detenga automáticamente y se notifique al usuario para ajustar el nivel de dificultad. Además, puede ser útil proporcionar retroalimentación al usuario, como una barra de progreso o tiempo estimado restante, para que puedan comprender lo que está sucediendo y evitar la frustración.

Comments are closed.