Waves Labs объявляет получателей специального батча грантов

Waves Labs
Waves Labs
Published in
5 min readSep 23, 2019

Ознакомьтесь с предложенными решениями для децентрализованных приложений(dApps).

Три недели назад мы анонсировали специальный батч грантов для финансирования проектов по созданию децентрализованных приложений на RIDE for dApps — специальном языке программирования Waves. Мы предложили четыре кейса, которые могут быть реализованы на RIDE: Аукционы, Голосование и демократические инструменты / DAO, Рынки предсказаний и Управление идентификацией/Оракулы.

Подавать заявку заранее не требовалось. Чтобы претендовать на грант, разработчику нужно было лишь выбрать кейс, создать решение и прислать результаты: исходный код на GitHub и ссылки на демо и описание реализованного кейса, включая инструкцию по пользованию решением.

Первый, кто прислал требуемые материалы для работающего решения по каждому из кейсов, получал грант в размере 1 000 WAVES.

В короткий срок талантливые разработчики, заинтересованные в тестировании возможностей языка RIDE for dApps, сумели реализовать все эти кейсы.

На сегодняшний день все победившие решения доступны в тестовой сети. Чтобы протестировать демо, вы можете воспользоваться тестовым адресом Waves (для получения кошелька тестовой сети, воспользуйтесь, пожалуйста, этой ссылкой.)

Поскольку главная цель этого батча грантов состояла в тестировании возможностей языка RIDE for dApps, разработанные решения являются прототипами. Однако все они имеют потенциал для реализации в качестве полноценных продуктов.

Мы благодарны всем участникам, подавшим заявки на этот батч грантов. А сейчас давайте ознакомимся с победившими решениями.

Голосование и демократические инструменты / DAO

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

Предлагая этот кейс, мы хотели получить простой и универсальный прототип DAO, который можно использовать, например, для управления компанией, инвестиционным фондом или благотворительной организацией. Победившее решение предложил Алексей Пупышев.

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

Токены WAVES могут храниться в кошельке dApp. Их можно переводить на кошелек с помощью вызываемой функции депозита или выводить из кошелька с помощью вызываемой функции вывода.

Демо: https://dao-waves-demo.herokuapp.com/
Исходный код на GitHub: https://github.com/AlekseiPupyshev/RIDE4DAPPS-MVPS/
Описание: https://habr.com/ru/post/447808/
Размер гранта: 1 000 WAVES

Управление идентификацией/Оракулы

Блокчейн позволяет надежно и безопасно хранить персональные данные, что делает эту технологию очень важной в сфере управления идентификацией и верификации.

Идентификация пользователей по номеру телефона или адресу электронной почты давно применяется в онлайн-банкинге. Мы предложили разработать подобную систему на блокчейне.

В рамках этого кейса мы хотели бы получить универсальное решение, привязывающее email-адрес пользователя к его аккаунту на Waves, чтобы безопасно отправлять токены на этот адрес.

В ответ на это задание мы получили несколько решений высокого уровня, которые не дублируют, а дополняют друг друга. Поэтому мы решили объявить победителями несколько решений и выделить грант в размере 1 000 WAVES каждому разработчику.

Разработчик: Кирилл Мадорин

Решение: Консольное приложение на node.js для идентификации email-адресов и отправки WAVES по электронной почте.

Приложение задействует смарт-контракт, который хранит у себя пары “email — адрес аккаунта для этого email” и позволяет вызывать у себя функцию для передачи WAVES на адрес, привязанный к email.

Алгоритм привязки email к адресу в блокчейне Waves при этом выглядит следующим образом: при каждом запросе на подтверждение email оракул высылает код подтверждения на email и записывает на свой адрес этот email и хэш кода подтверждения. Функция подтверждения email по предъявлению кода подтверждения и email будет сверяться с оракулом и, в случае успеха, записывать в стейт контракта пару email — адрес отправителя.

Демо: https://asciinema.org/a/GQceMMJyefZlUykd6xTcAdoal
Исходный код на GitHub: https://github.com/kmadorin/ride-identity-console
Описание: https://medium.com/@kirillmadorin/делаем-digital-identity-сервис-на-смарт-контрактах-waves-часть-1-консольное-приложение-на-node-js-6e510078356d
Размер гранта: 1 000 WAVES

Разработчик: Aртем Бадртдинов

Решение: Web-приложение для идентификации email-адреса и отправки токенов по email. Приложение позволяет отправлять любые токены, выпущенные на Waves, на любой верифицированный email.

Функционал приложения включает в себя:

  • Запрос верификации email-адреса пользователя. Оракул отправляет сообщение с кодом верификации на email-адрес и хранит хэш (SHA-256) кода верификации на блокчейне.
  • Верификация email-адреса пользователя через запрос контракту, включающий email-адрес и код верификации. Смарт-контракт проверяет код и, если он совпадает, сохраняет пару адресов.
  • Отправка токенов на электронный адрес через запрос контракту, включающий email-адрес и прикрепленный платеж.

Демо: https://bodrych.xyz/
Исходный код на GitHub: https://github.com/bodrych/waves-identity
Описание: https://forum.wavesplatform.com/t/identity-management/13643
Размер гранта: 1 000 WAVES

Разработчик: Игорь Шадурин

Решение: Web-приложение для идентификации email-адресов и отправки токенов по email.

Решение от Игоря — Waves Identity — позволяет проверять email-адрес пользователя из любого смарт-контракта. Это делается за счет вызова функции InvokeScript с адресом оракула и отправки на него email-адреса пользователя.

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

Получив сообщение, владелец email-адреса вводит полученный код и отправляет его оракулу. Смарт-контракт оракула проверяет код и, если он верен, отправляет на блокчейн подтверждение.

После этого подтвержденные email-данные могут использоваться для различных целей — например, для отправки WAVES на email-адреса.

Демо: https://testeron.pro/waves-identity
Исходный код на GitHub:https://github.com/IgorShadurin/waves-identity
Описание: https://medium.com/@igor.shadurin/waves-identity-3ed03c0c96ba
Размер гранта: 1 000 WAVES

Аукцион

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

В рамках данного кейса мы ожидали получить решение, которое позволяет создавать аукционы для токенов, выпущенных на Waves, и настраивать различные параметры — такие, как продолжительность, минимальная ставка и т. д. Решение, отвечающее всем указанным требованиям, разработал Игорь Шадурин.

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

Смарт-контракты Waves обеспечивают абсолютно прозрачные ордера на продажу/покупку. Продавец может быть уверен, что его токены не исчезнут до окончания аукциона, а покупатель может быть уверен, что получит выигранный лот.

Демо: https://testeron.pro/waves-auction/
Исходный код на GitHub: https://github.com/IgorShadurin/waves-auction
Описание: https://medium.com/@igor.shadurin/waves-auction-c90599894a79?sk=1c6e321d7d70ce3c15539694efdd2bb2
Размер гранта: 1 000 WAVES

Рынки предсказаний

Рынки предсказаний созданы для торговли результатами различных событий. Рыночные цены при этом отражают вероятность рассматриваемого события.

Эта концепция применима к бинарным событиям — тем, где что-то или произойдет, или не произойдет. Например, в мире финансов участники торгуют контрактами, выплата по которым зависит от результата будущего события. Рынки предсказаний делают возможной торговлю результатами этих событий.

В сущности, рынки предсказаний — это ставки на вероятность того или иного результата события — например, выборов, продаж компании, колебаний цен и даже изменений погоды.

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

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

Алексей Пупышев разработал решение, удовлетворяющее этим условиям. Это — простое децентрализованное приложение Prediction Market (в духе Augur или Gnosis), позволяющее создавать новые рынки, торговать акциями и выигрывать, если предсказание оказалось верным.

Демо: https://waves-prediction-market-demo.herokuapp.com/
Исходный код на GitHub: https://github.com/AlekseiPupyshev/Waves-Augur
Описание:
https://habr.com/ru/post/447790/
Размер гранта: 1 000 WAVES

Мы еще раз хотели бы поблагодарить всех участников, подавших заявки на программу грантов. Сейчас мы работаем над новым батчем основной программы грантов и скоро объявим победителей.

Более подробно о программе грантов можно прочитать здесь, а форма заявки находится здесь.

Недавно мы запустили Waves Incubator, долгосрочную стратегическую инициативу, направленную на поддержку создания решений на Waves, сфокусированную на dApps на языке RIDE. Подробности находятся здесь.

Чтобы быть в курсе всех новостей программы, подписывайтесь на наш канал в Telegram и Twitter-аккаунт.

--

--

Waves Labs
Waves Labs

Waves Labs is an initiative for supporting talented developers and promising startups focused on building the decentralised technologies.