ynifor

Untitled

Apr 21st, 2023 (edited)
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. Нужно сделать отдельную сущность для такой коллекции и запрос для ее получения со всей информацией (
  2. сколько там токенов разной уникальности,
  3. сколько токенов доступно для покупки - количество ордеров, на которые никто не сделал fulfill)
  4.  
  5. Также нужен запрос получения случайного id токена нужной редкости - можно либо начать хранить уникальность в базе, либо стягивать все метаданные, парсить и считать количества
  6.  
  7.  
  8. ---------
  9.  
  10. /v1
  11. /filemarket_collections/nft-bunnies/{token} - info per token
  12. /filemarket_collections/nft-bunnies//orders - Че тут делать
  13. /filemarket_collections/nft-bunnies//orders/without_fulfill - number of orders that haven't been fulfilled
  14.  
  15. У этих будет доступены фильтры в квери
  16. /filemarket_collections/nft-bunnies - all tokens(10k, без пагинации земля пухом как говорится)
  17. /filemarket_collections/nft-bunnies/count - count of tokens
  18. /filemarket_collections/nft-bunnies/random - random token
  19.  
  20.  
  21. ## Пример фильтра
  22. /filemarket_collections/nft-bunnies?rarity="rare"&availability=sold - вернет все токены по фильтру
  23. /filemarket_collections/nft-bunnies/count?rarity="rare"&availability=sold - вернет количество токенов по фильтру
  24.  
  25.  
  26. ## Фильтры:
  27. availability=[sold, available ...] Какие еще стейты "waiting for fulfill"
  28. rarity=[common, unique ...]
  29. category
  30. subcategory
  31. body
  32. head
  33.  
  34.  
  35. ## Получения случайного id токена нужной редкости
  36. Можно просто возвращать рандомный токен из слайса по фильтру + делать его available
  37. Но так как продажа происходит не сразу, то можем вернуть токен, который только что был продан
  38. У нас по сути если блоктайм ебать как полетит, должно быть окно в 30 минут.
  39. Можно хранить все гет запросы на рандом в bloom фильтрах, так мы *врятли* не вернем один и тот же токен в это окно. (Оч редкие ошибки на клиенте)
  40. Так как их нельзя возвращать в стейте назад, то нам желательно сделать фильтров 6 и сбрасывать их по очереди.
  41. И так как кто-то очень ушлый может сам кучу запросов на эту ручку кинуть и заполнить наши фильтры, чтобы увеличить себе шанс на рарку, то нужно ip фильтр делать или по адресу акка.
  42.  
  43.  
  44. С ордерами пока не все понятно у нас же по сути и старые ручки будут работать по адресу коллекции
Add Comment
Please, Sign In to add comment