Closed anastasiabusygina closed 1 year ago
Сейчас при получении от фронтенда реквеста POST /send c tweet id, puppeteer загружает страницу, делает скриншот и сохраняет в папку /data, данные твита и метаданные запроса обрабатываются таким же образом и сохраняются в папку /data. После подтверждения пользователем транзакции, из Chainlink узла в адаптер приходит реквест POST /adaper_response.json. Контроллер этого запроса
{
"data": {
"url": "<tweet id>",
"sha256sum": "<хэшсумма строкового представления метадаты в BigInt>",
"cid": "bafkreiey2x3hdvzdhd22nnltcpriax7gabqxo6eiivenjfbuvujtqcdkwi",
"metadataCid": "bafkreihd3wyfzst55c3izqm5p5fboc3rnciradbr3h4ghg2inzo53zxvy4"
}
}
Проблема:
Можем: Вариант 1. Сохранять все указанные файлы на стадии превью, по время обработки /send запроса:
{
"screenshotUrl" "base64:...",
"metadata": {"...."},
"tweetData": {"..."},
}
Преимущества:
Недостаток:
Вариант 2: продолжаем сохранять скриншот, мету и данные твита в /data, cid медиафайлов получаем в контроллере /adapter_response.json, их загрузку в ipfs делаем фоновой. В таком случае, их доступность не будет гарантированной при просмотре пользователем результатов сминтенного nft.
Let's select the first variant, so that we can sepearte loading of big number of files
tweetsQueue
, populate another task queue with resource URLs