Monitorea eventos en tiempo real en blockchain con : QuickAlerts

Monitorea eventos en tiempo real en blockchain con : QuickAlerts

Introducción

Cuando ingresamos a blockchain, tenemos la necesidad de saber que esta pasando sobre ciertos eventos que necesitamos monitorear.

Algunos ejemplos son:

  • Monitorizar carteras, contratos, tokens NFT, tokens, transacciones, bloques, validadores y más.

  • Cuando una cartera específica envía y/o recibe una transacción.

  • Cuando una cartera específica envía/recibe una transacción de/a otra cartera específica.

  • Cuando se crea un nuevo token NFT.

  • Cuando un token NFT específico es transferido.

  • Cuando ocurre un evento específico en un contrato inteligente específico.

  • Cuando ocurre un evento específico en cualquier contrato inteligente.

  • Cuando un bloque contiene más/menos de X # de transacciones.

  • Cualquier transacción que falle.

Pensamos que esta tarea es estar pendiente de un explorador público, lo cual resulta que no es una manera profesional y perdemos rastro de ciertos eventos.

Para ello existe QuickAlerts,una herramienta para la monitoreo real de eventos en blockchain.

¿Que harémos en este tutorial?

  • Crear una alerta en QuickNode para tener una notificación sobre transacciones ocurridas en una dirección.

  • Crear un bot en Telegram para recibir nuestras alertas.

¿Que necesitarás?

  • Nodejs instalado (versión 16.17.0 o superior)

  • Una cuenta en QuickNode.

  • Una cuenta en Vercel

  • Una cuenta en Telegram.

  • La dirección la cual vamos a monitorear , en este caso nosotros vamos a monitorear una dirección de Binance.

Crear alerta en QuickAlerts

Después de crear nuestra cuenta de QuickNode, debemos crear nuestra alerta.

A continuación veremos la siguiente pantalla:

En nuestro caso vamos a monitorear una dirección, existen casos hechos por el equipo de QuickNode para acelerar tu desarrollo.

Si quieres crear un caso especifico , puedes consultar la documentación de QuickAlerts.

A continuación después de seleccionar nuestra blockchain y el evento a monitorear, veremos la siguiente pantalla:

  • Block expression: Verifica si tu expresión es sintácticamente correcta.

  • Test expression: Puedes probar tu expresión con datos históricos .
    Una vez que se haya verificado tu expresión, puedes hacer clic en "Next" para elegir un destino.

Nota:

  • Debemos reemplazar las direcciones '0x1...' ,por nuestra dirección.

  • El bloque objetivo no es el último bloque, sino un bloque anterior que se puede usar para probar tu expresión.

  • En ambas opciones , debemos dar click en Test Expression.

  • Para continuar a la opción de seleccionar una opción de mandar nuestra alerta, debemos probar nuestra condición y dar click en "Next".

En la pantalla de "Destino" , daremos click en "Create destination":

A continuación veremos esta pantalla donde vamos a mandar nuestras alertas, por el momento solo esta disponible la opción de "Webhook" , muy pronto se habilitarán las opciones por Email,Slack,Discord y más.

Daremos click en Webhook.

En la siguiente pantalla se nos pedirá un Webhook y te preguntarás, ¿cómo crear uno? y muy fácil, ya te he ahorrado este paso para ti.

Configurar nuestro webhook en Vercel

Para eso tendremos que descargar este código.

Abre tu terminal de git y copia el siguiente comando:

 git clone https://github.com/irwingtello/serverlessWebHook.git

Después de descargar el repositorio, debemos instalar las siguientes dependencias:

npm install -g vercel

Al instalar nuestra dependencia para correr nuestro proyecto en vercel, debemos posicionarnos en nuestro proyecto y seguir los siguientes comandos:

npm install

Después ingresarás este comando:

vercel --prod

Al ingresar el comando, se te pedirá una serie de confirmaciones:

  • Y recibirás un correo y una confirmación la cual aceptarás.

  • Y nos preguntará si queremos hacer el lanzamiento de nuestro webhook y escribimos "y".

  • Se preguntará si queremos vincular a un proyecto existente y decimos que no "n"

  • Nos pedirá el nombre de nuestro proyecto.

  • La ruta donde esta almacenado nuestro proyecto, damos enter.

  • Y no modificamos las modificaciones por defecto.

¡Y listo! , tendremos nuestro webhook, pero aún no terminamos, nos falta obtener algunos datos para iniciar nuestro bot.

Nuestro webhook, estará conformado de la siguiente manera:

Debemos copiar nuestra url que dice production ,enseguida agregamos la ruta que recibirá nuestras alertas /api/webhook:

https://quicknodealerta.vercel.app/api/webhook

En nuestra cuenta de vercel , veremos nuestro webhook:

Daremos click en nuestro webhook y nos iremos a la opción de "Settings".

Y buscaremos la opción de "Environment variables".

Después de estar en esta sección ,necesitaremos dos variables TELEGRAM_CHANNEL_ID y TOKEN.

Configurar nuestro entorno en telegram para recibir nuestras alertas

Para eso necesitaremos ir a Telegram.

Abre tu aplicación de Telegram (Web/Escritorio/Móvil) y busca @BotFather o ve a t.me/BotFather.

A continuación realiza los siguientes pasos:

  • Abre el bot BotFather en Telegram y envía el comando /newbot en el chat

  • Da a tu bot un nombre único, por ejemplo, QuickAlerts Bot en el ejemplo siguiente.

  • Da un nombre de usuario, por ejemplo, myquickalert_bot, este nombre usuario en el caso que exista, solo elije otro nombre.

  • Una vez que BotFather haya creado tu bot, copia el nombre de usuario y el token del bot.

A continuación vamos a crear un canal en Telegram:

En nuestro canal debemos agregar el siguiente bot cómo administrador: @myidbot .

Para eso debemos seguir los siguientes pasos:

Después de agregar el bot , enviaremos el siguiente comando al canal para obtener el identificador: /getgroupid .

Y eliminaremos el bot @myidbot .

Después agregaremos nuestro bot que creamos con BotFather y lo agregamos cómo administrador.

Al tener realizado estos pasos nuestro bot esta preparado para recibir nuestras alertas.

Después de esto nos vamos a las variables de entorno de vercel y copiamos los datos de: TELEGRAM_CHANNEL_ID y TOKEN .

Configurando vercel con datos obtenidos de Telegram.

Y daremos click en "Save".

Después necesitaremos actualizar nuestro deployment para actualizar las variables de entorno.

Para ello nos vamos a la pestaña "Deployments" y daremos click en el último deploy , buscamos los tres puntos , damos click y luego seleccionaremos la opción de "Redeploy".

Finalizando configuración en QuickAlerts

¡Y listo! ,luego iremos a nuestra pantalla de QuickAlerts donde espera nuestro webhook:

Daremos click en "Create Webhook".

Y veremos nuestra alerta creada y habilitamos nuestra alerta:

Después de habilitar nuestra alerta, el botón de: "Deploy Alert" se habilitará y daremos click.

Al dar click, nuestra alerta estará activa y nuestro bot recibirá nuestras notificaciones:

Conclusion

¡Felicidades! , ahora sabes crear una alerta en QuickNode y configurar las alertas para que lleguen a Telegram , ahora tus siguientes pasos es darle formato al mensaje y dejar volar tu imaginación.

Nos gustaría tu retroalimentación ❤️!

Si tienes un comentario o pregunta en esta guía ,por favor comparte con nosotros tus inquietudes por Twitter o a través de nuestra comunidad de discord.

Siempre nos encanta escuchar a nuestra comunidad.

Did you find this article valuable?

Support Irwing Tello by becoming a sponsor. Any amount is appreciated!