Как создать сервис в сети Minter за одну ночь и победить в хакатоне

Как создать сервис в сети Minter за одну ночь и победить в хакатоне

В воскресенье, 27 августа в 23:00 по московскому времени завершился первый хакатон Minter. На выполнение задания отводилось семь дней, всем желающим разработчикам было предложено создать рейтинг и профили нод для проекта. По итогу было представлено восемь работ, победители получили следующие награды: 1 место — 3 ЕТН, 2 место — 1 ЕТН. DeCenter поговорил с одним из участников соревнования для разработчиков Николаем Вотинцевым, который создал сайт minter.live за одну ночь и получил один эфир за «элегантную реализацию» рейтинга валидаторов.

хакатон minter

20 августа стартовал хакатон проекта Minter, где разработчикам нужно было создать MApp — оффчейн Minter App, микросервис на базе блокчейна с функционалом рейтинга и профилями нод (например, консоль, эксплорер, кошелек, сервис чеков, прием платежей в криптовалюте и так далее). Что именно выводить в рейтинг и как его составлять, решали сами участники. Главное, что MApp должен быть максимально простым для запуска оператором ноды или участия на сайте.

Николай Вотинцев является ученым, имеет степень кандидата фармацевтических наук, в нулевых начал изучать программирование и уже на протяжении 18 лет занимается разработкой сайтов. Более пяти лет назад научный сотрудник отказался от постоянной работы и стал фрилансером, начал интересоваться крипто-индустрией. О хакатоне узнал из каналов Minter и DeCenter. «Я давно подписан на эти паблики. Периодически слежу за происходящим в проекте, но не могу назвать себя активным пользователем. К сожалению, когда объявили о хакатоне, я был далеко от цивилизации и стабильного интернета. Но по возвращении меня ждала радостная новость: соревнование продлили, и я еще успевал принять участие и создать свой сайт».

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

Николай рассказывает, что его сайт minter.live позволяет построить рейтинг нод, валидаторов, посмотреть статистику по нодам и делегаторам монет. «Мой основной интерес участия в этом хакатоне был личным. Ранее мне не хватало времени разобраться в работе сети, понять ее более подробно, но очень этого хотелось. Я считаю, что сделать продукт в качестве разработчика является лучшим способом изучить проект. Когда я решил принять участие, мне даже было сложно понять терминологию Minter: кто такие валидаторы и делегаторы, чем мастернода отличается от ноды? На хакатон у меня было не так много свободного времени — фактически один день. Прежде чем начинать реализовать проект, необходимо было получить теоретические знания о Minter, здесь надо отдать должное команде разработчиков сети, они предоставили отличную документацию, и ее наличие позволило сделать проект быстро. Уже к вечеру я понимал основы устройства Minter, а к утру, после нескольких литров кофе, была готова первая версия сайта».

На хакатоне каждый участник сам выбирал принцип построения аналитики и рейтинга. Разработчики демонстрировали показатели стейка мастерноды, количество делегаторов, их данные с помощью различных инструментов визуальной демонстрации предмета. Николай Вотинцев сделал упор на участников, которые доверяют свои монеты валидаторам. «Мне нужно было решить, на основе каких параметров и характеристик строить рейтинг валидаторов. Существовавшие на тот момент рейтинги в качестве сортировочной характеристики использовали сумму средств делегированных мастерноде. Я подумал, что будет интересно строить рейтинг по количеству делегаторов, которые доверили свои монеты валидатору. В теории каждый делегатор перед передачей средств проводит свою оценку валидатора, общая же сумма может быть легко увеличена за счет личных средств владельцев мастерноды, поэтому я считаю свой рейтинг очень репрезентативным».

Главная страница сайта minter.live
Главная страница сайта minter.live. Источник.

Язык программирования также выбирался каждым участником хакатона самостоятельно. Николай использовал для фронтенда — клиентской стороны пользовательского интерфейса к программно-аппаратной части сервиса — JS Framework Nuxt.js, для бэкенда — программно-аппаратной части сервиса — PHP Framework Laravel. «Использование реактивного JS позволило сделать проект “живым”, от этого название — minter.live, обновление происходит без перезагрузки страницы, поэтому выбор был сделан в пользу Nuxt.js. Для бэкенда изначально планировалось использовать Node.js, однако Minter имеет достаточно хороший SDK для PHP, а вот SDK для Node.js еще уступает ему по функционалу. Поэтому выбор был сделан в пользу PHP».

Еще одной особенностью сайта Николая является отображение индивидуальных данных пользователей сети. Для оперативного распознавания делегатора или валидатора была создана генерация аватара на основе публичного ключа и адреса, где каждый участник платформы получает оригинальное цветное изображение, которое не повторяется с другими аватарами пользователей. «Данная функция полезна для тех пользователей сайта, которые будут пытаться отследить, кто и куда делегирует свои средства. Человеческое восприятие устроено так, что лишенные смысла для сознания случайные комбинации цифр и букв, используемые в адресах и публичных ключах сети Minter, очень плохо запоминаются. Изображения, даже случайные, наоборот, запоминаются легко. Поэтому, когда пользователь будет просматривать десятки валидаторов, он легко заметит повторяющиеся изображения и сможет их сопоставить с буквенно-цифровым хэшем. И, наоборот, при просмотре делегаторов пользователь сможет легко опознать интересующих его валидаторов. Конечно, на данном этапе развития сети польза от этой функции еще не так очевидна».

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

Информацию о каждом пользователе можно вносить и править. Для этого нужно нажать на иконку и кликнуть «Edit», подкорректировать данные и ввести адрес своего кошелька.

«Валидатор имеет возможность указать дополнительную информацию о себе. На данный момент это только сайт и ссылка на канал в Telegram. Основной вопрос заключался в том, как сайт может удостовериться в праве вносить информацию о мастерноде. Эта ответственность была полностью переложена на сеть Minter. Идея заключается в том, что для подтверждения прав на редактирование пользователь должен отправить с адреса владельца валидатора в сети Minter любую сумму на указанный моим сайтом адрес, при этом в транзакцию должен быть добавлен 128-битный ключ операции, также предоставляемый моим сайтом. Изменения будут внесены только при совпадении всех условий. Таким образом удалось использовать сеть в качестве инструмента идентификации и канала монетизации сайта. Мне нет необходимости хранить логины и пароли, запрашивать подтверждение на владение нодой, переживать о воровстве учетных данных, о восстановлении паролей, 2FA авторизациях — все это решается одной единственной транзакцией через Minter».

1 сентября проект Minter запустил второй хакатон, который направлен на разработку биржи. Ведь процессы обмена или покупки монет в сети заложены в основном коде. Но есть несколько важных моментов, когда надо дополнить функционал микросервисом MApp (Minter App) — например, поиск самых активных монет и анализ графиков цены, или выставление ордеров под конкретные события, не обязательно даже по цене. Для максимального удобства вход на биржу может поддерживаться Децентрализованным Банком Валидаторов, то есть пользователь закидывает биткоин, эфир и любую другую криптовалюту и получает сразу же BIP на бирже (функционал делает команда Минтера).

Николай Вотинцев пока что не знает, будет ли принимать участие во втором хакатоне, ведь работа с биржей и создание платформы занимают много времени. «Я хочу продолжить модернизацию своего сайта уже в более спокойном ритме, оптимизировать скорость, добавить графики — платформа к этому готова. И, возможно, буду участвовать во втором хакатоне. Но нужно помнить, что реализация биржи — сложное дело, в первую очередь, с точки зрения безопасности и юридической ответственности».

Напомним, что второй хакатон продлится до 15 сентября. Minter не ставит конкретных задач, весь процесс абсолютно творческий, каждому дается возможность создать такую биржу, которая, на его взгляд, покажется удобной и эффективной. Но разработчики проекта советуют не забывать про API, ведь к бирже будут подключаться со сторонних сервисов, например, кошельков. Следует помнить, что лучше всего цены указывать в долларах: в тестнете для наглядности один MNT оценивается в $0.01. Язык программирования также остается на выбор разработчиков. Награды за лучшие два проекта: 1 место — 10 ETH, 2 место — 5 ETH.

Подписаться
на DeCenter в Telegram