Вт. Окт 26th, 2021
    Free TON, Online auctions

    DevEx SG сообщества Free TON со второй попытки провел конкурс реализации механизма проведения онлайн-аукционов. В прошлый раз старт был перенесен из-за малого количества участников и низкого качества работ.

    Главной целью конкурса Online auctions implementation являлась разработка эталонной реализации различных типов аукционов в блокчейне Free TON в соответствии с архитектурой распределенных смарт-контрактов. Поэтому участники конкурса соревновались в создании, тестировании и развертывании смарт-контрактов, реализующих различные типы  аукционов.

    Требования к конкурсным работам

    Поскольку тип аукциона Викри уже внедрен в конкурсе DeNS, жюри предложило конкурсантам сосредоточиться на английском и голландском типах аукционов.

    Рекомендации и требования:

    • реализация английского, голландского  и “слепого” типа аукционов для прямого (форвардного) и обратного (реверсивного) вида аукциона. В “слепом” типе аукциона все участники торгов одновременно подают запечатанные предложения, поэтому ни один участник аукциона не знает ставку любого другого участника;
    • аукционы должны быть масштабируемыми и не должны полагаться на один контракт. Корневой контракт аукциона должен быть способен деплоить бесконечное количество атомных аукционов;
    • возможность реализации объединенных систем аукционов;
    • генерирование аукционами событий в цепочке, сообщающих важные изменениях состояния, которые могут использоваться другими смарт-контрактами;
    • использование Solidity, C ++ и их комбинацию;
    • взаимодействие смарт-контрактов с TON Crystal, токенами TIP-3;
    • наличие функции перевода в DePool.

    Заявки участников должны содержать исходный код, тестовые сценарии для всех функций с использованием одной из существующих сред, а также описание на одном из перечисленных языков: семейство TLA+, TL-B, UML, семейство Prolog.

    Критерии оценки конкурса и призовой фонд

    Члены жюри оценивали заявки участников с точки зрения лучшей реализации типов аукционов в соответствии с предоставленными архитектурными рекомендациями и условиями конкурса.

    1 место — 50 000 TON Crystals
    2 место — 35 000 TON Crystals
    3 место — 20 000 TON Crystals
    4 место — 15 000 TON Crystals
    5 место — 10 000 TON Crystals

    Первое место

    Четыре участника боролись за победу в конкурсе. Лучшей стала заявка № 3 от команды разработчиков TON RED во главе с @Abionics. Результат — 8,25 балла и 50 000 TON Crystals.

    Судейство оценило реализацию всех шести типов аукционов. Во всех поддерживаются следующие виды ставок: в TON Crystal, в TON Crystal через DePool и в TIP-3 токенах.

    Члены жюри отметили качественную и проработанную систему тестирования смарт-контрактов аукционов, написанную на Python с использованием unittest и tonos-ts4 библиотек. Имеются тесты для каждого типа аукционов и свой тест для корневого контракта аукциона.

    Команда TON RED разработала специализированную программу просмотра Viewer, которая отслеживает события и отображает все аукционы от корневого смарт-контракта в одной таблице. Можно нажать на любой аукцион и во всплывающем окне увидеть информацию о нем: тип, статус, срок проведения, ценовые предложения и т.д.

    Второе место

    7, 50 балла и 35 000 TON Crystals достались команде Pruvendo — заявка №4.

    В ней представлена гибкая система смарт-контрактов, реализующая широкий спектр аукционов. Она реализована на Solidity, где тестирование  осуществляется с использованием платформы TS4.

    Ключевые смарт-контракты:

    • AuctionRoot — инициирует аукцион и разрешает передачу токенов от IGiver (продавца) к IBid (покупателю).
    • IAuction — содержит свойства конкретного аукциона.
    • IBid — содержит информацию о предложении.
    • IGiver — содержит информацию о продаже.

    Pruvendo предоставила UML-диаграммы, которые описывают механику реализации определенного типа аукциона.

    Третье место

    Заявка № 2 от команды членов сообщества DE OLIVEIRA & Fabrice LE FESSANT — 6 баллов и 20 000 TON Crystals.

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

    • английские аукционы с минимальным процентом приращения;
    • голландские аукционы с автоматическим  режимом управления ценой: цена автоматически снижается со временем;
    • голландские аукционы с использованием  ручного режима регулировки цены: цена снижается вручную “аукционным домом”;
    • реверсивные английские аукционы.

    Команда наглядно продемонстрировала различные этапы реализации аукциона.

    К недостаткам представленного решения судьи отнесли то, что специалистами команды реализованы не все требуемые типы аукционов. В алгоритме обратного английского аукциона не все смарт-контракты системы были протестированы и задеплоены.

    Четвертое место

    И, наконец, четвертое место получила команда разработчиков во главе с Anton Platonov. Заявка № 1 — 4,75 балла и 15 000 TON Crystals.

    Представлена реализация следующих типов аукционов:

    • форвардный английский; 
    • форвардный голландский; 
    • английский “слепой” вариант аукциона.

    Большинство судей отметили то, что система смарт-контрактов, предложенная авторами заявки, требует доработки, так как в ней нет алгоритма реализации английского реверсивного, голландского реверсивного и “слепого” варианта голландского типа аукциона.

    14
    0