Crear y enviar solicitudes de datos en la red Witnet por Claudia Bartoli Duncan Blog de la Fundación Witnet Julio 2020

Esta publicación cubre los pasos simples necesarios para enviar una solicitud de datos a la red descentralizada Oracle de Witnet.

Las solicitudes de datos están en vivo en la red Witnet

Puede encontrar más detalles sobre el proceso de ejecutar un nodo aquí. Como ejemplo, si está usando Docker, solo tendrá que ejecutar el siguiente comando:

docker run -d
–name witnet_node
–volumen ~ / .witnet: /. witnet
–publicación 21337: 21337
– reiniciar siempre
Witnet / Witnet-Rust

Con su nodo en funcionamiento, puede interactuar con Testnet enviando solicitudes de datos. Puede hacerlo en dos pasos, que cubriremos a continuación:

1. Crear una solicitud de datos: En esta sección, describiremos cómo crear una solicitud de datos, agregar fuentes, definir los parámetros necesarios, decidir cómo se agregan los datos y definir otras características. También se le presentará RADON, un lenguaje específico de dominio, que lo ayudará a crear solicitudes de datos.

2. Enviar una solicitud de datos y recuperar los resultados.: Si está interesado en ver cómo se gestiona la solicitud a través de blockchain, cómo funciona la garantía o cualquier otro comportamiento de la red al resolver una solicitud de datos, puede estar interesado en esta sección.

Puede crear una solicitud de datos en Witnet utilizando la caja de trufas. Para comenzar, cree una carpeta y desempaquete la caja de trufas con el siguiente comando:

mkdir dr_folder
cd dr_folder
truffle unbox witnet / truffle-box

La caja de trufas creará un directorio con todos los archivos necesarios para ejecutar la creación de la solicitud de datos.

Ahora estamos listos para crear la solicitud de datos. Deberá crear un archivo JavaScript en la carpeta de solicitud first_data_request.js. Ahora complete la solicitud con los siguientes parámetros.

Parámetro 1: Selegir las fuentes

Decida de qué API pública desea extraer los datos. En este ejemplo, estamos utilizando la API https://www.bitstamp.net/api/ticker/, y especificamos los métodos RADON de la siguiente manera para recuperar esos datos.

Nota: Puedes agregar múltiples fuentes. Para hacerlo, solo agregue las fuentes como con la constante de sello de bits a continuación.

Parámetro 2: Define la agregación

Los agregadores definen cómo los resultados de múltiples fuentes se reducen o fusionan en un único punto de datos.

Parámetro 3: definir la cuenta

Los recuentos son similares a los agregadores, pero en lugar de fusionar múltiples fuentes, combinan los resultados informados por múltiples nodos Witnet.

Agregando los toques finales

Los parámetros setQuorum, setFees y programación le permiten personalizar aún más la solicitud de datos:

setQuorum especifica el número de testigos por los que desea que se cumpla su solicitud, y el consenso mínimo que debe alcanzar la red para considerar el resultado como válido setFees especifica cuánto desea pagar por recompensar a cada uno de los nodos Witnet implicados al resolver el calendario de solicitudes, le permite establecer la fecha y la hora en que desea que se complete la solicitud

Puede encontrar más información sobre estos métodos aquí.

Una vez que haya configurado todos los parámetros, ejecute:

solicitudes de compilación de hilo

¡Eso es! La solicitud de datos se crea y está lista para implementarse en Witnet.

Si revisa el archivo de contratos, verá que ahora está disponible una expresión hexadecimal de la solicitud; esto se usará para enviar la solicitud de datos a Witnet.

NOTA: la caja de trufas te permite hacer aún más. Si revisa el tutorial de alimentación de precios de bitcoin, verá cómo puede conectar su solicitud de datos a un contrato inteligente en Ethereum y desplegarlo.

En esta sección, explicaremos cómo enviar solicitudes de datos a Witnet y recuperar información.

Importante: necesita algunos tokens WIT (o UXTO que hayan pasado una edad de monedas de maduración de 1000 bloques) para enviar la solicitud de datos a la red.

En primer lugar, necesitará la representación hexadecimal de las solicitudes de datos que desea implementar. Puede obtenerlo del contrato inteligente de solicitud que se crea automáticamente al compilar la solicitud. Puede usar una solicitud de datos que creó o usar uno de los ejemplos disponibles. Cuando use ejemplos, simplemente clone el repositorio relevante y ejecute el comando:

solicitudes de compilación de hilo

Como se mencionó anteriormente, el hexadecimal de la solicitud se puede encontrar en el contrato de solicitud, por ejemplo, las solicitudes eth_price.js se ven así:

Con este hexadecimal ahora puede enviar la solicitud a Witnet, utilizando el siguiente comando:

docker exec -i witnet_node ./witnet node send-request – ejecutar – hexadecimal

Si revisa los registros de su nodo, es posible que vea que se ha enviado y puede ver las diferentes etapas de la solicitud. También puede obtener el estado de la solicitud con el siguiente comando:

docker exec -i ./witnet node dataRequestReport

Estados de la solicitud de datos: Si no está familiarizado con los estados de la solicitud de datos cuando se encuentra en Witnet, aquí hay una breve explicación:

Cometer: En esta etapa, los nodos resuelven la solicitud y publican los resultados en secretoRevelar: Una vez que cada nodo ha confirmado los resultados (al tiempo que garantiza que no se puedan copiar entre sí), esos resultados se revelan a la redCuenta: La última etapa es la agregación de las revelaciones y la publicación del resultado.