Домен и сайт в продаже

NBA Top Shot предлагает вам лучшие игры в баскетбол в виде предметов коллекционирования на блокчейне.

Это первая в своем роде коллекционная игра, которая позволяет людям собирать, обменивать и продавать свои любимые моменты NBA — мы называем Moments — в виде цифровых токенов.

Эти моменты можно собирать для выполнения заданий, рассчитанных на время, объединять в витрины и использовать для будущих реальных событий, таких как полный доступ к финалам НБА !

КАК ЭТО РАБОТАЕТ?

Все это делается в блокчейне Flow, специально разработанном для обеспечения скорости и масштабируемости для потребительских приложений ( onflow.org ). Мы создаем приложение на блокчейне с помощью набора смарт-контрактов.

У торговой площадки есть собственный смарт-контракт — мы называем его рыночным контрактом. Так происходят такие операции, как покупка, дарение, листинг и исключение из списка моментов.

КОНТРАКТ NBA TOPSHOT MARKET V3

Недавно мы решили обновить рыночный контракт.

27 июля мы обновили смарт-контракт Top Shot Marketplace до V3 on Flow. Это первое обновление контракта, которое мы сделали с момента создания Top Shot. 

Не позволяйте V3 вводить вас в заблуждение — у нас был недолговечный V2, который так и не попал в основную сеть. Хотя мы не ожидаем, что это будет происходить регулярно, мы опубликуем журнал изменений в записях Дневника разработчиков для всех будущих изменений смарт-контрактов, чтобы любой, кто использует Flow Events для сбора информации с Marketplace, мог заранее подготовиться к обновлению.

Большое спасибо всем нашим замечательным создателям контента за их терпение и отзывы при выполнении нашего первого обновления. Вы делаете это сообщество потрясающим!

V1 И ЕГО ПРИЧУДЫ

Контракты V1 и V3 определяют ресурс SaleCollection, который сборщики хранят в своей учетной записи. Это управляет логикой:

  • Листинг
  • Исключение из списка
  • Покупка
  • Перенос

V1 хранит моменты, которые выставлены на продажу, но это создает несколько проблем. В частности, если пользователь перечисляет или удаляет момент, это рассматривается как снятие и депозит, и Flow будет генерировать соответствующие события снятия и депозита. Если бы вы полагались на эти события для отслеживания владения моментом, это привело бы к обработке событий вывода и депозита в моменты, когда право собственности не было изменено.

ТОРГОВАЯ ПЛОЩАДКА TOP SHOT

Для торговой площадки это означало две заметные ошибки:

  • Если вы перечислили или удалили момент, который был в витрине, он будет удален из витрины, пока вы не вернете его в
  • Если вы добавили или удалили Момент, это сбросило бы время восстановления вашего переноса.
V3 И ЕГО РЕШЕНИЕ

Контракт V3 также определяет SaleCollection, но он сохраняет возможность для коллекции Moment владельца, поэтому моменты, которые перечислены / исключены, не нужно удалять из основной коллекции для выставления на продажу.

Когда Момент приобретается с использованием контракта V3, SaleCollection использует возможность изъять Момент из основной коллекции и отправляет его покупателю.

Вот ссылка на документацию Flow по возможностям.

ЛОГИСТИКА

Контракт V3 предназначен для учета моментов, которые ранее были перечислены с использованием контракта V1. Если у вас был момент, указанный перед обновлением, и вы либо исключили его из списка, либо купили, это будет сделано с контрактом V1.

Для торговой площадки это означает, что любые моменты, перечисленные перед обновлением, по-прежнему сохранят ошибку перезарядки витрины и передачи (например, если вы удалите старый список, находящийся в витрине, он будет удален из витрины). Как только вы снова укажете момент, он будет использовать контракт V3.

Для разработчиков, использующих события Flow и создающих сторонний контент, это означает несколько вещей:

Есть новые события, которые нужно отслеживать, чтобы получать точную информацию о рынке:

A.c1e4f4f4c4257510.TopShotMarketV3.MomentPurchased

A.c1e4f4f4c4257510.TopShotMarketV3.MomentListed

A.c1e4f4f4c4257510.TopShotMarketV3.MomentWithdrawn

Примечание: вы все равно должны слушать события V1. Они будут отправляться до тех пор, пока на Marketplace есть листинги V1, и поскольку наш контракт поддерживает как V1, так и V3, переносить листинги V1 не планируется.

Если вы напрямую запрашиваете Flow для коллекции пользователя, вам нужно будет запросить как V1, так и V3 SalesCollection:

Контракт V3 развернут по тому же адресу, но вам нужно будет его импортировать: Рынок импорта из 0xc1e4f4f4c4257510

импортировать TopShotMarketV3 из 0xc1e4f4f4c4257510

Чтобы получить доступ к ссылке на коллекцию, вы должны использовать: getCapability (/ public / topshotSalev3Collection)

Обновление V3 на торговой площадке было развернуто 27 июля 2021 года в 20:00 UTC:

Высота блока 16933182 — от одной минуты до того, как мы внедрили эти изменения в первую службу. Если вы будете слушать события V3 с этой высоты, вы будете в курсе последних событий.

Кроме того, у нас есть группа на Discord, называемая создателями контента, где вы можете сотрудничать с другими людьми, используя наш API, а для будущих обновлений контрактов инженеры Top Shot будут проводить рабочие часы.

Таблица генерируемых событий: