У меня есть ситуация, когда я отправляю эфир на сумму 1 доллар на свой смарт-контракт.
Теперь, как мне проверить то же самое на твердость? Как мне убедиться, что пользователь отправляет эфир на сумму 1 доллар в любой момент времени.
Я имею в виду, как я могу убедиться, msg.value
что солидность на самом деле равна 1 доллару фиата от солидности.
Редактировать: я знаю, что оракул может использоваться в качестве источника данных. Но есть ли оракул, который предоставляет API, такой как poloinex.
Шаг 1: я звоню на https://poloniex.com/support/api/ и получаю эфир - фиатную стоимость
Шаг 2: Я отправляю транзакцию в контракт, используя ранее полученное значение:contract.method.aPayableMethod().sendTransaction({ value: toWei('value from poloinex') })
Шаг 3: В моей платной функции внутри Solidity, как я могу убедиться, что это msg.value
всегда равно 1 $.
Пожалуйста, взгляните на FiatContract . Это контракт, основанный на пожертвованиях, который обновляет фиатные значения каждый час.
Вам нужно будет использовать что-то вроде оракула , который может предоставить эту информацию по цепочке, но вы должны быть уверены, что оракул всегда будет возвращать достоверные данные.
Итерация 122442
ИнфинитПрайм
Ричард Хоррокс
ИнфинитПрайм