Могу ли я добавить дополнительные данные в запрос oraclize, чтобы использовать их в функции обратного вызова?

Я хотел бы иметь возможность использовать определенные данные в обратном вызове запроса oraclize, которые я хочу передать при создании запроса oraclize.

Скажем, у меня есть следующая функция в контракте:

function updateExchangeRate(uint delay, uint userId){
    oraclize_query(delay, "URL", "json(https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD).USD");
    // have the userId value be usable in the oraclize callback function
  }

Можно ли добавить в этот запрос данные, которые можно использовать в функции обратного вызова? Я хочу передавать userId каждый раз, когда я делаю запрос oraclize, который я затем могу использовать в функции обратного вызова.

Это возможно?

Вы получаете идентификатор запроса, поэтому не можете ли вы сохранить его в сопоставлении с идентификатором пользователя?
Томас из Oraclize, я подтверждаю, что подсказка @EdmundEdgar — правильный путь!
@ThomasBertani, как вы получаете идентификатор запроса, когда делаете запрос на сохранение в этот момент?
Догадаться. Просто нужно было быстро просмотреть документы. Сам запрос возвращает идентификатор запроса.
@ Паби, да, действительно! docs.oraclize.it/#ethereum-integration-the-query-id

Ответы (1)

Используйте идентификатор запроса, который возвращается из запроса, а затем сохраните его как сопоставление с идентификатором пользователя. Вот раздел в документах (ссылка в комментариях не работает): http://docs.oraclize.it/#ethereum-quick-start-the-query-id .

bytes32 queryId = oraclize_query(60, "URL", "json(http://api.fixer.io/latest?symbols=USD,GBP).rates.GBP");