Dominio Steem con JavaScript: Lección n.° 2: Exploración de la API de Steem: Steem JS.

En esta oportunidad, estaré compartiendo mi participación en esta concurso, y desde ya les confieso que fue todo un reto el poder desarrollar las consultas solicitadas debido a que mi computadora no esta tan actualidad y fue todo un reto el poder instalar un editor de texto y las librerías compatible con el windows 7 32 bits. De igual forma, me esforcé al máximo y conseguí el siguiente resultado:

steemJS.png
Portada diseñada en Canva


1- Utilice Steem JS para ejecutar al menos 3 métodos de la API de Steem

Para realizar estas consultas, descargue el Node.js, luego para confirmar que se haya instalado correctamente, accedí al Command Prompt y escribi la palabra node con lo cual podemos ver que tengo la version 12.2.3.

image.png

Realice otra consulta y esta ver para confirmar que también se haya instalado correctamente el NPM, este es el gestor de dependencias incorporado en NodeJS.

image.png

Luego abrí mi editor de texto Sublime Text 3, cree una carpeta de nombre: Lesson2 para crear mis archivos .JS en los cuales estaré ejecutando 3 métodos de la API de Steem.

Metodo Get Version

A través de este método podremos consultar la versión de la cadena de bloques Steem a la que está conectado.

image.png

Al ejecutar podemos visualizar el resultado de esta consulta y obtenemos la version de la cadena de bloques Steem, la cual corresponde a 0.23.0

image.png

Get Trade History

A través de este método podemos consultar el historial comercial de un período determinado, en este podemos establecer una fecha y hora de inicio y una de fin, ademas, podemos definir la cantidad de transacciones que deseamos consultar.

image.png

Al ejecutar podemos visualizar el siguiente resultado para esta consulta:

image.png

Get Ticker

Con este método podemos consultar los últimos datos resumidos del mercado Steem, entre ellos la cantidad de Steem y SBD comerciados.

image.png

Resultado

image.png

2- Calcular el SP efectivo (acciones de adquisición de derechos + acciones de adquisición de derechos recibidas - acciones de adquisición de derechos delegadas - tasa de retiro de adquisición de derechos) para todas las cuentas de Steemcurator (sc01-08)

Para cumplir con estas indicaciones lo primero que hice fue iniciar mi código conectando la API con la librería Steem, luego continué declarando constante account para asignarle las cuentas de Steemcurator a consultar la cual serian desde la 01 hasta la 08.

image.png

Luego utilice el método get_dynamic_global_properties el cual nos proporciona información global de la blockchain, por lo que con esto podemos calcular los mvests.

La fórmula para realizar este calculo es la siguiente:

total_vesting_fund_steem*1000000/total_vesting_shares

Por lo que al incluirla en este código queda de la siguiente manera:

let per_mvest= parseFloat(result.total_vesting_fund_steem)*1000000/parseFloat(result.total_vesting_shares);

image.png

Ya teniendo el calculo del mvests, continuamos utilizando el método get_accounts el cual nos permite tener toda la información acerca de las cuentas de steemcurators 01-08.

En este caso la información que necesitamos para calculo del SP efectivo de estas cuentas son:

  • vesting_shares
  • received_vesting_shares
  • delegated_vesting_shares
  • vesting_withdraw_rate

Dado que la formula para realizar este calculo es la siguiente:

effectiveVESTS = vesting_shares + received_vesting_shares - delegated_vesting_shares - vesting_withdraw_rate

Al aplicar esta formula el resultado obtenido es la cantidad de Vesting Shares netos efectivos que tiene cada cuenta, por lo que aun faltaría un ultimo paso que es realizar la conversión de VESTS a SP.

Para ello aplicamos la formula:

steem_per_mvests * amount_to_convert / 1000000

Para ello utilice la siguiente instrucción:

let sp = ((effectiveVESTS * per_mvest) / 1000000);

Por lo que tan solo nos queda mostrar el resultado de calculo del Stem Power efectivo y el Steem Power en VESTS.

image.png

Ahora si podemos visualizar el código completo:

image.png

Y de esta manera obtenemos el siguiente resultado al ejecutar nuestro código.

image.png

3- Estudie el método get_dynamic_global_properties y explique al menos 5 valores que podemos obtener aquí.

El método get_dynamic_global_properties nos permite obtener información acerca de las propiedades globales dinámicas actuales de la blockchain, a través de esta información se puede conocer el estado general y rendimiento de la blockchain.

image.png

  • head_block_number:

El valor de esta propiedad nos proporciona el numero del ultimo bloque que ha sido añadido a la cadena de bloques. En esta consulta vemos que el ultimo bloque ha sido el que corresponde al numero: 91584447.

  • current_witness:

El valor de esta propiedad nos proporciona el nombre del testigo que es responsable de producir el bloque actual. En este ejemplo el testigo es: steem.history.

  • current_supply:

El valor de esta propiedad nos proporciona la cantidad de STEMM que hay actualmente en circulación. En esta consulta vemos que la cantidad disponible es de: 479493891.423 STEEM.

  • current_sbd_supply:

El valor de esta propiedad nos proporciona la cantidad de SBD que hay actualmente en circulación. En esta consulta vemos que la cantidad disponible es de: 13919146.334 SBD.

  • last_irreversible_block_num:

El valor de esta propiedad nos proporciona el numero del ultimo bloque que fue validad y es irreversible. En esta consulta vemos que el ultimo bloque irreversible fue el que corresponde al numero: 91584431.

Resultado de la consulta:

image.png


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

Las capturas fueron tomadas desde mi computadora - Sublime Text 3

Sort:  
Loading...

Muchas gracias por invitarme.
Esto hay que verlo con mucho detenimiento.
Saludos y bendiciones

Gracias por la invitación! 👌🤗