Dominio Steem con JavaScript: Lección n.° 1: Introducción a la cadena de bloques Steem y a los nodos RPC.

claritza42 -

Me alegra estar sumándome a participar en esta actividad, y es que aunque esta temática no es donde tengo mas habilidades, es algo que me resulta muy interesante y espero desarrollar las tareas de la mejor manera.


IMG diseñada en Canva


¿Qué entiendes sobre los nodos RPC? [2 PTS]

Antes de explicar la función de un nodo RPC, es importante entender primer lo que es un nodo, y esto se refiere a una computadora que participa en una red de blockchain, es decir, que se comunica entre si con otras computadoras para ejecutar el software de la blockchain e intercambiar información.

Ahora bien, los nodo RPC también conocidos como nodo de llamada a procedimiento remoto, son aquellos que actúan como intermediarios o estableciendo un puente de comunicación, al realizar llamadas a procedimientos (métodos) los cuales se ejecutan en otro sistema o computador (servidor), sin tener que preocuparse por los detalles sobre la red del servidor.

Los nodos RPC son los que permiten que las aplicaciones descentralizadas puedan realizar diferentes consultas de información almacenada en la cadena de bloques o la ejecución contratos inteligentes.

La blockchain de Steem cuenta con un nodo RPC el cual es proporcionado por Steemit Inc:

https://api.steemit.com

Esta nos permite consultar HTTP y obtener información acerca de la red.

Explora el Portal de desarrolladores de Steem ( https://developers.steem.io ) y obtén datos usando JavaScript o Python desde al menos 3 métodos del complemento condenser_api (No uses el método get_block) [5 PTS]

El Portal de desarrolladores de Steem brinda una gran volumen de información sobre cómo trabajar con nodos y redes de prueba, así como también una serie de tutoriales para la facilitar la comprensión y familiarizacion acerca de la interacción con las API de Steem en Javascript, Python y Ruby.

En este portal, encontramos en el lado izquierdo un menú en la cual se presentan diferentes secciones como: quickstart, tutoriales, servicios, API de Appbase y recursos.

En este caso, nos centraremos en la sección de API de Appbase, en el cual se muestran diferentes plugins, pero nos vamos a enfocar precisamente en [Condenser Api] el cual es uno de los mas grandes y completos, ya que nos permite utilizar una gran lista de métodos.

Siguiendo con los lineamientos dados, procederé a realizar la consulta a traves del lenguaje de programacion Javascript, por lo que estare utilizando 3 métodos disponibles a través del plugin [Condenser Api] y ver que resultados nos arrojan.

Metodo 1- condenser_api.get_account_count

Este método nos permite obtener información acerca de el número de cuentas activas.

Arrojando el siguiente resultado:

Método 2 - condenser_api.get_market_history_buckets

Este método nos permite obtener la información acerca de los segundos del depósito que rastrea el complemento.

Arrojando el siguiente resultado:

Método 3 - condenser_api.get_recent_trades

Este método nos permite obtener información acerca de las transacciones más recientes que se han realizado en el mercado interno SBD:STEEM, esta tiene como limite la consulta de 1000 transacciones.

En este caso, realizaremos la consulta de las ultimas 5 transacciones que se han realizado en el mercado interno.

Arrojando el siguiente resultado:

Obtenga la información de un bloque aleatorio entre 1.000.000 y 1.500.000 y escriba un programa que muestre quién creó ese bloque y la fecha en que fue creado. [3 PTS]

En la pregunta anterior demostramos la forma de utilizar el RPC de Steemit y conectarnos al plugin condenser_api y utilizar los diferentes métodos, en este caso utilizaremos [get_block] para obtener la información correspondiente a un bloque aleatorio.

Para lograr cumplir con esta indicación de que el bloque sea seleccionado aleatoriamente y que se encuentre en el rango de 1.000.000 y 1.500.000, debemos aplicar una formula:

Y es que declararemos la variable num, la cual tendrá el valor de un un numero aleatorio que sera calculado garcías al método [Math.random()] que justamente nos permite establecer el rango en el cual queremos que varié la selección del bloque. Por lo que ka instrucción queda de la siguiente manera:

const num= Math.floor(Math.random() * (1500000 - 1000000 + 1)) + 1000000;

Ahora bien, incluiremos esta instrucción en nuestro código y procedemos a realizar la llamada a la función get block para que nos arroje la información del numero de bloque, la fecha de creación y el nombre de su creador.

Esta consulta nos arroja el siguiente resultado:


Invito a mis amigos @dilianny20, @karelis01 y @simonisai15 para que puedan participar en este curso y ampliar sus conocimiento acerca de la blockchain de Steem y los nodos RPC.

Las imágenes utilizadas en este post son capturas de pantallas tomadas en mi computadora.