Dominio Steem con JavaScript: Lección n.° 3: escuchar la cadena de bloques.

steemJS (1).png
Portada diseñada en Canva


¿Qué usos le darías al método streamOperations? (Sin contar los explicados en la lección) [2 PTS]

El método streamOperations nos proporciona información muy importante que podemos utilizar para analizarla y crear bots muy útiles en la plataforma de Steemit. A través de este método podemos monitorear las diferentes operaciones que se están registrando en la cadena de bloques casi en tiempo real.

Son múltiples los usos y aprovechamiento que se le puede dar a este método, todo va a depender del programador y de las necesidades que es te tenga.

En mi caso, utilizaría este método para monitorear y hacerle seguimiento a cuentas que tengan actividad inusual como el Spam de mensajes, la transferencia recurrente a otras cuentas, lo que indicaría que podría estar incurriendo en agricultura de cuentas, algo que va en contra de la naturaleza de la plataforma de steemit.

También, es ideal para crear un bot que me permita realizar el filtrado de contenido a través de etiquetas especificas y realizar la operación de curación de contenido de forma automatizada, evitando realizar el trabajo manual.

Se pueden crear aplicaciones o bots que utilicen este método para ofrecer consultas automatizadas a los usuarios, enviar alertas cuando se realicen operaciones como transferencias, transfer_to_vesting, withdraw_vesting, proporcionandole informacion importante a los usuarios acerca de la actividad de sus cuentas y detectar de esta forma si se produce el hackeo de cuentas o alguna actividad desconocida.

Como bien lo dice el titulo de esta lección, el uso del método streamOperations nos permite escuchar la cadena de bloques de Steem, es decir, que podemos filtrar la información que sea de nuestro interés y realizar el análisis de los datos obtenidos, logrando de esta manera entender el comportamiento de los usuarios en días y momentos específicos.

Hemos afrontado periodos en los que se se producen apagados de cuentas casi de forma masiva, esto mayormente sucede cuando el precio del Steem tiene una caída estrepitosa. También podemos monitorear la actividad de encendidos que se esta produciendo, lo cual indica que hay mucha actividad en la plataforma y los usuarios están invirtiendo en sus cuentas. En fin, en base a la información analizada pueden surgir muchas nuevas herramientas que ayuden a mejorar la experiencia de los usuarios en la plataforma.

Otro de los usos que yo le daría este método es el seguimiento a cuentas especificas, como las de Steemcurator01 y Steemcurator02 para analizar la actividad y determinar las horas en las que suelen tener mayor actividad, las cuentas a las que mas apoyo le brindan, los comentarios que realizan, en fin. Para mi seria información muy útil ya que me ayudaría a ajustar mi actividad en busca de captar un mayor apoyo.

En fin, se que hay usos mas técnicos, pero ajuste mi respuesta a mis conocimiento, ya que entendí que la pregunta era subjetiva, es decir, que debería estar basado en lo que yo pienso y en la forma en que yo utilizaría este método.

Utilice el método streamOperations para detectar los siguientes tipos de transacciones: comment, transfer, transfer_to_vesting, withdraw_vesting. Analice la información contenida en estas transacciones y muestre un mensaje para cada caso. [5 PTS]

El método streamOperations nos permite realizar el seguimiento casi en tiempo real de las diferentes operaciones que suceden en la cadena de bloques Steem. Sabemos que cada 3 segundos se añade un nuevo bloque a la cadena, en el cual están contenidas un determinado volumen de operaciones (votos, comentarios, transferencias, entre otros.).

Es decir, que a través del método streamOperations podemos hacer una lectura de la actividad que se esta produciendo en la cadena de bloques e incluso filtrar la informaciones para analizarla y actuar en función de ella.

A continuación, voy a utilizar este método para hacer consultas y hacerle seguimiento casi en tiempo real a algunas operaciones en especifico.

  • streamOperations (comment)

Al utilizar este método podemos filtrar la información que queremos visualizar, en este caso el tipo de operación a la cual deseamos hacerle seguimiento es a los comentarios, es por ello que al realizar esta consulta podremos obtener casi en tiempo real todos los comentarios que se van realizando.

Para visualizar esta información, estaremos mostrando un mensaje en el cual se especifique el usuario que realizo el comentario (data.author), el usuario que es autor de la publicación o comentario que recibió el comentario (data.parent_author) y el identificador único del comentario (data.permlink).

image.png

Al realizar la consulta, obtenemos el siguiente resultado:

image.png

Vemos que este tipo de consulta nos permite monitorear la actividad que se esta realizando en la cadena de bloques y visualizar que tantos usuarios se encuentran activos en la plataforma interactuando con otros usuarios.

  • streamOperations (transfer)

El método streamOperations también nos permite monitorear de manera especifica la actividad que se esta realizando en cuanto a la transferencia de fondos (Steem o SBD). Esta es una de las operaciones básicas que realizan en la cadena de bloques de steem.

Así que de esta manera podremos realizar la consulta y visualizar el usuario que realiza la transferencia (data.from), el usuario que recibe los fondos (data.to), la cantidad de Steem o SBD (data.amount) y el memo que corresponde a cada operación (data.memo).

image.png

Al realizar la consulta, obtenemos el siguiente resultado:

image.png

Vemos que obtenemos la información de las transacciones que se están realizando casi en tiempo real. Esto nos permite ver que tanta actividad hay en la cadena de bloques y poder filtrar o detectar actividades de cuentas fraudulentas que solo se dedican a farmear Steem o SBD.

  • streamOperations (transfer_to_vesting)

Otra de las operaciones básicas que se realizan en la cadena de bloque de Steem es la de convertir los Steem en Steem Power (transfer_to_vesting), por lo que el método streamOperations también nos permite filtrar esta información y monitorear las conversiones que se realizan casi en tiempo real en la cadena de bloques.

image.png

A través de esta consulta podemos visualizar la actividad relacionada a la transferencias de steem líquidos para convertirlos a Steem Power (SP), esta transferencia puede ser al mismo usuario o a otros.

image.png

Al monitorear esta operación podemos saber que tanta actividad hay en cuanto a la conversión de steem líquidos a Steem Power. Esta operación en muy importante, ya que nos indica que tan saludable esta el funcionamiento de la plataforma de steemit.

  • streamOperations (withdraw_vesting)

Con este método también podemos filtrar y monitoreal la conversión de Steem Power a Steem líquidos, es decir, que es el proceso inverso de la consulta transfer_to_vesting. Es decir, que al realizar esta consulta podremos identificar los usuarios que están iniciando el proceso de apagado, es decir, que quieren convertir su SP a Steem liquido nuevamente.

Al establecer esta consulta podremos visualizar el usuario que esta realizando el apagado y la cantidad a convertir.

image.png

Al realizar esta consulta, obtenemos el siguiente resultado:

image.png

Para confirmar esta información, ingrese a https://steemworld.org/@gondalsavera, y pude confirmar que había iniciado el proceso de conversión de SP a Steem.

image.png

Luego inicie nuevamente una consulta y pude obtener el siguiente resultado.

image.png

Esta consulta nos permite visualizar cuantos usuarios están comenzando el proceso de conversión de su SP a Steem líquidos, esta operación no es nada saludable para el crecimiento de la plataforma de Steemit.

Escucha la blockchain y detecta cuando das un voto con tu propia cuenta (inicia el bot y luego da votos, y muestra cómo lo detectas) [3 PTS]

Para cumplir con estas indicaciones es necesario utilizar el método streamOperations , el cual me va a permitir consultar las operaciones de votos emitidos, pero en esta oportunidad debemos establecer un filtro en el cual solo se detecten los votos que emita desde mi cuenta (ahumadaliliana29).

Para ello estableceré una constante llamada user para almacenar mi nombre de usuario.

Luego establezco una instrucción para filtrar que el tipo de operación considerada sean los votos, pero que ademas esos votos sea emitidos desde mi de usuario.

if (type === "vote" && data.voter === user) {

image.png

Por lo que al realizar esta consulta, estaremos visualizando solo las operaciones en las que desde mi cuenta se emita un voto. Por lo que iniciare el Bot y desde mi blog emitire un voto.

image.png

Al revisar el bot, vemos que se ha detectado esta operación y podemos visualizar el nombre del usuario al que le di un voto y el peso del voto.

image.png

Realizare una nueva demostración, con otro usuario y configurando un peso de voto mayor.

image.png

De esta manera podremos visualizar en la consulta que se detecta casi en tiempo real esta operacion.

image.png


Espero haber cumplido de forma correcta con la realización de estas tareas. En esta oportunidad estaré invitando a mis amigos @creacionesmayi, @sammy1109 y @adrianagl para que también se sumen a participar y ampliar sus conocimientos.

Las capturas fueron tomadas desde mi computadora - Sublime Text 3

Coin Marketplace

STEEM 0.31
TRX 0.27
JST 0.045
BTC 102228.51
ETH 3688.34
SBD 2.80