Cómo implementar la aleatoriedad en Syscoin $SYS por Rokowski Blog de la Fundación Witnet diciembre de 2022

La red Witnet ha estado proporcionando aleatoriedad a Syscoin desde agosto.

Debido a que Witnet es una cadena de bloques de capa 1 que se ejecuta en su propia red construida con un solo propósito, es muy simple de integrar tanto en nuevas cadenas como en sus aplicaciones. Actualmente, Witnet proporciona datos y aleatoriedad a más de 22 cadenas diferentes compatibles con EVM; vea algunos proyectos más que usan Witnet aquí.

La mejor parte es que en realidad no necesita tener ninguna moneda $WIT, la moneda nativa del ecosistema Witnet que impulsa el incentivo criptoeconómico de la red. Los desarrolladores que desean consultar la red de Witnet están pagando tarifas relacionadas con esa consulta en la moneda nativa de la cadena en la que están construyendo, en este caso, $SYS.

El contrato WitnetRandomness, también conocido como Witnet Randomness Oracle, es la forma más fácil y conveniente de generar aleatoriedad confiable e independiente de EVM para sus contratos inteligentes. Puede ver algunos ejemplos de solidez en esta página.

Sin embargo, luego deberá agregar lógica dentro de su contrato inteligente para esperar una respuesta de la cadena lateral de Witnet y manejar situaciones de reversión de casos de esquina en el nivel de Witnet, antes de alimentar su algoritmo Generador de números pseudoaleatorios (PRNG) favorito con la semilla aleatoria de 32 bytes proporcionada por el oráculo de Witnet.

En pocas palabras, al usar WitnetRandomness solo necesita:

Eventualmente, tenga cuidado de solicitar y pagar nueva aleatoriedad en un momento dado: vea randomize() payable. Eventualmente, obtenga un valor de aleatoriedad generado por Witnet después de cualquier número de bloque dado: vea isRandomized(uint256) y getRandomnessAfter(uint256).

Algunas soluciones de problemas comunes es que debes esperar entre 5 y 10 minutos desde que solicitaste el número aleatorio hasta que puedas usarlo. Esto se debe a que la función de números aleatorios de Witnet es asíncrona para protegerse de la manipulación y la previsibilidad, ya que garantiza que el número se generó solo después de que se envió la solicitud.

Por ejemplo, fetchRandomNumber() o cumplirRandomness() probablemente se revertirán si acaba de llamar a getRandomNumber() o requestRandomness()

Para una explicación más detallada, echa un vistazo a la página de documentación aquí. También puede leer el contrato directamente desde la red principal de Syscoin o la red de prueba de Tanenbaum.

Si tiene alguna pregunta o necesita acceso a más recursos, únase a nuestro Discord, elija el rol de “desarrollador” (opcional) y navegue a #-dev-lounge o #-solidity y nuestra comunidad puede ayudarlo. Además, el oráculo de Witnet es capaz de obtener cualquier API disponible públicamente a través de HTTPS Get, Post y GraphQL. ¡Además, el oráculo de alimentación de precios de Witnet está disponible para sus monedas sintéticas, monedas estables, apuestas y más!

¡La Fundación Witnet también tiene un programa de subvenciones que puede ayudar a poner en marcha su proyecto desde cero! Echa un vistazo más en profundidad aquí.