Convertir entre Fiat (USD) a ether en solidez

Tengo una situación en la que envío 1 $ de éter a mi contrato inteligente.

Ahora, ¿cómo valido lo mismo en solidez? ¿Cómo me aseguro de que el usuario esté enviando 1 $ de ether en un momento dado?

Quiero decir, ¿cómo puedo asegurarme msg.valuede que la solidez sea realmente igual a 1 $ de fiat de la solidez?

Editar: lo sé, un oráculo se puede usar como fuente de datos. Pero, ¿hay un oráculo que proporcione una API como poloinex?

Paso 1: llamo a https://poloniex.com/support/api/ y obtengo ether - valor fiduciario

Paso 2: envío una transacción a un contrato utilizando el valor obtenido anteriormente:contract.method.aPayableMethod().sendTransaction({ value: toWei('value from poloinex') })

Paso 3: En mi función pagadera dentro de la solidez, ¿cómo me aseguro de que msg.valuesiempre sea igual a 1$?

puedes darme mas detalles? Porque si el usuario envía 1 ether (digamos que vale 1 $), entonces el contrato recibirá 1 ether y harás lo que tengas que hacer con esto.
Quiero validar, si 1 éter actualmente es igual a 1 $.
Hola. "Precio en USD" casi no tiene sentido en mi opinión :-) ¿Precio según quién? ¿Qué bolsa o mercado vas a utilizar para tu valoración? ¿Es ese el mismo mercado que utilizarán los usuarios de su contrato? ¿Qué sucede si el precio en el mercado elegido cambia mientras realiza la llamada API/Oracle? ¿Qué sucede si el precio cambia mientras su usuario espera que se extraiga su transacción?
Sí, usaré la API de tipo de cambio de coinbase. ¿Estas api no ofrecen un precio promedio de 24 horas? ¿Y crees que debería verificar el valor de msg. y si existe, simplemente continuar?

Respuestas (2)

Por favor, eche un vistazo a FiatContract . Es un contrato impulsado por donaciones que actualiza los valores fiduciarios cada hora.

Pero es muy tarde. Terminé aceptando ETH.

Necesitaría usar algo como un oráculo que podría proporcionar esa información en la cadena, pero debe confiar en que el oráculo devolverá datos válidos en todo momento.

Mira la edición.