ztepler / juster-starter-kit

Материалы для Tezos DeFi Hackathon 2022: Juster Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tezos DeFi Hackathon 2022: Juster Challenge Starter Kit

Juster

В данном репозитории находятся материалы которые должны упростить процесс знакомства с Juster и предложить участникам хакатона возможные пути решения представленного челленжа.

Challenge: Интеграция с протоколом Juster

Сервис позволяющий взаимодействовать с Juster используя информацию о событиях и ставках пользователей, например, ревард программа распределения токенов между пользователями, комбинированные ставки, арбитраж ставок

Juster

Juster это платформа позволяющая пользователям взаимодействовать на рынке рисков и ставок в различных ролях: создавая события, предоставляя ликвидность и делая ставки в отношении исходов этих событий. Принципы работы протокола описаны в документации

На момент старта хакатона Juster состоит из одного смарт-контракта развернутого в тестовой сети Tezos hangzhou2net по адресу: KT197iHRJaAGw3oGpQj21YYV1vK9Fa5ShoMn

Используемая терминология:

  • Event (ивент, событие) - структура данных в Juster, описывающая событие (динамика изменения курса валютной пары за определённый период), которое может иметь два результата: событие реализовано в соответствии с заданными характеристиками или нет
  • Views - механизм взаимодействия между смарт-контрактами, позволяющий сторонним контрактам считывать информацию о состоянии контракта реализовавшего onchain views

Предложенная на хакатоне задача предлагает участникам сделать свой сервис который будет интегрироваться с Juster-ом используя его contract views:

  • getNextEventId - позволяет получить id по которому будет доступен следующий ивент, который будет создан Juster-ом. Эта информация может использоваться для создания новых ивентов используя сторонний смарт-контракт с сохранением в нём id вновь созданных ивентов
  • getPosition - позволяет получить информацию о предоставленной ликвидности и сделанных ставках по адресу пользователя и id события
  • getEvent - позволяет получить информацию о текущем статусе и характеристиках события по его id
  • isParticipatedInEvent - позволяет узнать участвовал ли пользователь в ивенте по его адресу и id события

Возможные примеры реализации задачи в рамках хакатона:

  1. Ревард-программа вознаграждающая участников протокола за ставки и предоставление ликвидности. Награды могут быть в виде xtz, NFT или FT токенов, условия выдачи награды могут быть любыми.
  2. DeFi инструмент который делает ставки / предоставляет ликвидость или делает комбинированные операции при наступлении определённых условий.
  3. Агрегатор ликвидности пользователей.
  4. Арбитраж ставок с помощью смарт-контракта.

Что ожидается в результате челленджа:

  1. Опубликованный репозиторий с кодом решения, включющий в себя:
    • смарт-контракт интегрированный с onchain views Juster. Данный контракт должен реализовать интересную и/или полезную логику, расширяющую возможности протокола. Для написания контракта желательно использовать язык LIGO.
    • приложение UI позволяющее взаимодействовать с этим контрактом
  2. Смарт контракт должен быть задеплоен в сети hangzhou2net
  3. Ссылка на работающее веб приложение позволяющее пользователям взаимодействовать с этим смарт контрактом будет преимуществом
  4. Наличие тестов на смарт конракт будет преимуществом

Материалы starter kit:

  • reward.ligo - пример reward-программы использующей Juster onchain views
  • reward.tz - пример скомпилированной в Michelson reward-программы. Для компиляции использовалась docker версия LIGO:
docker run --rm -v "$PWD":"$PWD" -w "$PWD" ligolang/ligo:0.33.0 compile contract contract-example/reward.ligo -e main --protocol hangzhou > contract-example/reward.tz
  • test.py - пример тестов для reward-программы написанных с использованием библиотеки PyTezos. Для запуска тестов требуется также установить библиотеку pytest:
pip install wheel setuptools pkginfo cryptography
pip install pytezos
pip install pytest
pytest contract-example/test.py
  • deploy.py - пример скрипта выполняющего деплой reward-программы в сети hangzhounet. Для исполнения необходимо установить PyTezos. Также для запуска требуется наличие приватного ключа с токенами в тестовой сети (скрипт его ищет под именем key.json), который можно получить используя faucet
python contract-example/deploy.py

About

Материалы для Tezos DeFi Hackathon 2022: Juster Challenge


Languages

Language:Python 100.0%