aelf Oracle Episodio 2: ¿Qué hizo aelf Oracle en el intercambio de mainnet? de ælf aelf Septiembre de 2021

Algunos de ustedes han intercambiado tokens de mainnet y han participado en el sorteo en nuestro sitio web en los últimos días. ¿Te gusta eso? Barato y rápido, ¿no? aelf oráculo ayudó. Al intercambiar ERC-20 ELF por tokens ELF de mainnet, aelf oracle ayuda a recuperar el contrato LockMapping de Ethereum a aelf mainnet para que los usuarios puedan intercambiar sus tokens ELF.

ENVIAR: crear datos fuera de la cadena

Aquí están los datos fuera de la cadena que se crean para la organización aelf oracle en el sitio web.

Ingrese la cantidad de ELF y haga clic en "Bloquear", luego se enviará una transacción al contrato LockMapping de Ethereum. El nombre de la transacción es createReceipt. Esta transacción solo logra dos cosas:
– Transfiera la cantidad de ELF ingresada por el usuario desde la cuenta Ethereum del usuario al contrato LockMapping ;
– El contrato LockMapping crea un recibo para el usuario.

El valor hash de cada recibo entrega dos mensajes:
– El número de tokens ERC-20 bloqueados;
– La dirección aelf para recibir los tokens.

TRANSMIT: aelf oráculo para recuperar datos fuera de la cadena

Un nodo dentro de la organización consultará el contrato cada minuto aproximadamente. Cuando el nodo descubre que se crea un nuevo recibo en el contrato de LockMapping, iniciará una consulta para obtener datos.

Por ejemplo, si el nodo de Oracle mencionado anteriormente descubre que Ethereum ha creado recientemente cinco nuevos recibos con ID de recibo que van desde 101 a 105, entonces el query_info de esta transacción de consulta se establece como:
– Título: record_receipts
– Opciones: (101, 105)

Además, la información de devolución de llamada (callback_info) es la forma de ejecutar RecordReceiptHash en el contrato Bridge. Después de que la transacción Query cuyo título es "record_receipts" se empaqueta en un bloque determinado, se iniciará el evento QueryCreated correspondiente. Posteriormente, el nodo de aelf oracle actualizará el valor hash de los 5 recibos (101-105) al contrato Bridge. Y finalmente, los usuarios pueden utilizar la información del recibo para sincronizar en el contrato de aelf Bridge.

RECIBIR: aelf contact para procesar datos fuera de la cadena

En la sección RECIBIR, los usuarios pueden encontrar el ID de recibo creado para ellos por el contrato de LockMapping. Seleccione y haga clic en Recibir, el sitio web de intercambio guiará al usuario para enviar una transacción llamada SwapToken para el contrato Bridge de la red principal de aelf, y ayudará al usuario a completar el número de ERC20 ELF previamente bloqueado por el usuario en el contrato LockMapping (estos datos se comprueba automáticamente mediante el contrato de LockMapping Obtener).

En la transacción SwapToken, el contrato Bridge volverá a codificar la dirección aelf del usuario y bloqueará el número de tokens ERC20 ELF. A través de Merkle Proof, verifique si el valor hash está en un determinado Merkle registrado por el contrato MerkleTreeRecorder en la red principal de aelf. En el árbol. Si hay un registro coincidente, el contrato puente ingresará la cantidad correspondiente de ELF para el usuario (el usuario estará bloqueado en el 105% del ERC20 ELF dentro de los primeros 15 días de la actividad de cambio de moneda).

Ese es todo el proceso de nuestro intercambio de tokens en la red principal.

Nota: Los usuarios pueden visitar explorer.aelf.io/vote/ Election para obtener los ingresos del fondo común de dividendos de Bienestar ciudadano votando en los nodos de producción candidatos en cualquier momento.