{"id":14294,"url":"\/distributions\/14294\/click?bit=1&hash=434adac65d5ae5d3e2e945d184806550325dd9068ef9e9c0681ca88ae4a51357","hash":"434adac65d5ae5d3e2e945d184806550325dd9068ef9e9c0681ca88ae4a51357","title":"\u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0418\u0418 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u044b \u0432 \u0433\u043e\u0434","buttonText":"","imageUuid":""}

Сделано на Cardano: как в компании MetaLamp разрабатывают приложения для вселенной ADA

Экосистема ADA продолжает расширяться и количество проектов превысило 1000. Для каких разработок используется платформа? Какие проблемы они помогают решить? Как создаются действительно работающие приложения на Cardano? Компания MetaLamp делится своим опытом создания продуктов на блокчейне.

Партнёрство с Cardano

Наша компания возникла в 2014 году из студенческого проекта.

Поначалу мы не могли себе позволить нанимать новых квалифицированных сотрудников, но энтузиазма и желания развиваться было в избытке, поэтому мы решили растить разработчиков своими силами. Мы запустили бесплатную образовательную программу по двум направлениям — backend и frontend — и обучали всех желающих языкам Haskell и Javascript; тех, кто успешно сдавал теорию и практику в конце обучения, мы принимали в штат. Сегодня в Metalamp трудится 70 специалистов, из которых больше половины — выпускники нашей программы обучения.

Именно языку Haskell мы обязаны партнёрством с Cardano. Знание Haskell привело нас на рынок блокчейна, откуда шло большинство запросов на разработку, — это связано и с популярностью криптовалют, и с растущим количеством правительственных инициатив, а также с распространением dApps для платежей, смарт-контрактов, отслеживания поставок, цифровых удостоверений и т.п. В итоге, на третьем году работы с Haskell, мы получили запрос от самих IOG: они пригласили нас поучаствовать в тестировании смарт-контрактов Cardano. Так началось наше сотрудничество. Мы очень гордимся тем, что вошли в пятёрку компаний, кому первым в мире доверили разрабатывать юзкейсы для Plutus.

Для участия в коллаборации с Cardano нам потребовалось изучить Plutus Core, — язык смарт-контрактов Cardano, использующий кодовую базу Haskell. Порог входа в Plutus достаточно высок, но нам на руку сыграли развитая культура самообразования в компании, предварительное знание Haskell и опыт программирования в функциональном стиле, — благодаря им у нас не возникло проблем с интеграцией.

Размер мирового рынка блокчейнов растёт; DeFi и смарт-контракты становятся всё популярнее, и платформы, обеспечивающие соответствующие решения, активно развиваются. Нам близка философия блокчейна, основанная на принципах доверия, открытости и децентрализации, и мы хотим развивать сотрудничество с экосистемой Cardano в длительной перспективе. Поэтому мы обучили языку Plutus Core всех наших Haskell-разработчиков. Ребята посмотрели курс лекций, которые разработали IOG в рамках программы Plutus Pioneer и пообщались с основателями и экспертами по языку. Вдобавок мы сами разработали практические задания, для которых наши бэкендеры искали и с нуля писали решения: например, реализация NFT-маркетплейса, создание Faucet-приложения и т.п. Теперь каждый наш разработчик, включая новичков-джунов, может взять в работу Cardano-проект.

Такова предыстория наших взаимоотношений с Cardano. Теперь мы хотим рассказать о нескольких наших проектах на этом блокчейне.

Наши проекты на Cardano

Тестирование смарт-контрактов Plutus

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

В частности, мы тестировали хардфорк Alonzo Purple перед его развёртыванием в основной сети. Тестирование позволило увидеть, в каком виде хранятся eUTXO, как их использовать в транзакции и как выполнять валидацию.

На момент нашего участия у IOG не было тестовой сети, поддерживающей смарт-контракты, а также документации, позволяющей разобраться в некоторых вещах. Мы работали с симуляцией. Когда появилась тестовая сеть, оказалось, что она не поддерживает многие фичи, — например, PAB с кошельками, конечные автоматы и т. д. И код, который мы успешно запускали в симуляции, не всегда работал в реальной сети. В специальном сообществе в Discord мы постоянно общались с разработчиками Plutus и другими участниками программы тестирования контрактов, обсуждая способы исправления возникших ошибок. Основная внутренняя команда IOG оказала нам большую поддержку; в частности, Ларс Брюньес, – директор по образованию, – был очень отзывчив и полезен (привет, Ларс!).

Порой ни у кого не было готовых предложений или советов, и нам приходилось заглядывать в исходный код Plutus и разбираться самим. Здесь нам помогла фундаментальная подготовка — полезный подход в любой области, а в блокчейне — и подавно, ведь практически невозможно написать смарт-контракты, не владея знаниями о том, что они собой представляют. А ещё в некоторых случаях нам помогало изучение существующих решений в Ethereum.

Проектирование NFT-маркетплейса

Результатом участия в программе тестирования платформы Plutus и опробования протокола IPFS стала первая торговая площадка NFT с аукционом на блокчейне Cardano.

NFT создаётся в два этапа: первый — загрузка связанных метаданных (это может быть любой файл, например изображение) в хранилище, второй — чеканка токена, который поступает в кошелёк создателя на блокчейне. Первый шаг требует адресуемости контента, — её обеспечивает протокол IPFS, который присваивает каждому файлу уникальный идентификатор (он представляет собой криптографический хеш). Основная цель смарт-контракта торговой площадки — обеспечить прямую связь между токеном в кошельке пользователя и этим идентификатором контента. Нам удалось этого достичь, и пользователи нашего маркетплейса могут:

  • Создавать свои невзаимозаменяемые токены;
  • Объединять NFT в коллекции;
  • Выставить коллекцию NFT на аукцион;
  • Установить цену и период аукциона;
  • Загружать изображения, а также видео и аудио файлы.

Платформа монетизируется за счёт комиссий от продажи NFT и аукционов.

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

Разработка децентрализованного облачного хранилища

Компания Iagon задалась целью создать для людей безопасный способ хранения и владения данными о своём здоровье. Благодаря прозрачности, открытости и неизменяемости блокчейн-технология — самая подходящая почва для воплощения замысла. Мы помогаем Iagon разрабатывать децентрализованную облачную систему на блокчейне Cardano для задействования неиспользуемых вычислительных мощности и ёмкостей хранения центров обработки данных, компьютеров и интеллектуальных устройств. По задумке создателей, каждый сможет предлагать свободные мощности на рынке, получая, таким образом пассивный доход. Эта децентрализованная облачная система составит конкуренцию централизованным гигантам-поставщикам облачных услуг (например, Google Cloud или Microsoft).

Cardano была выбрана площадкой для развёртывания протокола как наиболее удачно сочетающая в себе возможности масштабирования, совместимости, экологичности, низкой стоимости транзакций и безопасности, основанной на научном подходе. Главная задача смарт-контракта в первом децентрализованном облачном хранилище этой сети — обеспечить прямую, без посредников, связь между покупателями свободных ёмкостей хранения и провайдерами storage или compute.

На момент написания статьи мы столкнулись с проблемами при интеграции контракта с фреймворками от IOG, — такими, как PAF (Plutus Application Framework), — и работаем над их решением. Если простые контракты можно задеплоить без PAF, то более сложные и масштабируемые решения не имеют другого конкретного способа релиза контракта в открытый доступ. Это обратная сторона медали разработки Cardano, которая преимущественно фокусируется на поддержке ноды и ключевых элементов.

Создание стейблкоина для ADADAO

Adadao — это децентрализованная кредитная платформа на блокчейне Cardano для займа стейблкоинов AUSD под залог ADA. AUSD можно использовать как обычную криптовалюту, оплачивая товары и услуги или отправляя другим пользователям.

Займ можно взять при условии размещения залога с запасом (например, 1 AUSD за 1.5 ADA залога). Сверхзалог нужен для того, чтобы в случае падения стоимости ADA, AUSD оставался обеспеченным. Если займ становится недостаточно обеспеченным, система списывает долг с заёмщика, и обменивает его залог на AUSD используя Stability pool, распродажу на аукционе или перераспределение долга. При возвращении займа пользователь забирает залог, а полученные AUSD сжигаются.

На момент написания статьи (август 2022) мы уже разработали основную часть протокола. Сюда входят смарт-контракты для заёмщиков и вкладчиков в Stability pool, контракты для ликвидации, аукциона, а также модуль для управления протоколом и мониторинга курса ADA к AUSD, чтобы отслеживать и запускать ликвидации. В стадии ресёрча и разработки находятся: контракт по перераспределению ликвидированного долга, контракт для регуляции курса AUSD, контракт для держателей управляющих ADAO токенов и голосования.

При запуске протокола в тестнет мы столкнулись с проблемой в работе chain-index — компонента Plutus-apps, который используется в смарт-контрактах, написанных с использованием PAB, — а также с тем, что большая часть кода, написанного для симуляции, не работает в тестнете. Отстуствие ораклов в мейннет не позволяет получить данные, необходимых для работы протокола, поэтому пока мы используем моковый оракл (фейковый оракл, который мы сами написали; мы меняем его данные вручную, когда проводим тесты). Было бы так же хорошо иметь альтернативные стейблкоины в мейннет — в аукционах или в качестве альтернативной валюты для залога.

‍‍

Плюсы и минусы разработки проектов на Cardano

Чаще всего нам заказывают разработку приложения смарт-контракта — серверной части приложения, которое взаимодействует с блокчейном. Это предполагает написание кода, который конструирует транзакции, и кода, который валидирует транзакции. Иногда запрос включает написание интерфейса приложения (фронтенд) для ручного тестирования или для продакшена. В некоторых случаях разработке предшествует период исследования, за время которого изначальная идея проекта превращается в конкретную концепцию архитектуры приложения и спецификацию имплементации.

Cardano — перспективная технология для разработки безопасных смарт-контрактов благодаря высокой пропускной способности, низкой стоимости транзакций и экономии энергопотребления (Proof of Stake более экологичен, чем Proof of work). Нам также нравится в Cardano то, что:

  • Разработка на Haskell позволяет использовать удобную систему типов и безопасные абстракции фреймворка Plutus;
  • Сообщество Cardano отличается отзывчивостью, и действует согласно принципам свободной разработки (open source).

Минусы разработки на Cardano, которые мы выделяем на сегодняшний день:

  • Фреймворк Plutus недоработан. Пользователи испытывают API, разработчики дают обратную связь, исправляют ошибки и делают фреймворк удобнее;
  • Всё ещё не работает PAB в режиме браузерного кошелька. Работа с браузерными кошельками необходима для любого DeFi приложения. Необходимо дополнительно исследовать временные решения, с помощью которых можно запустить приложение для широкого круга пользователей;
  • Из-за лимита на размер транзакции (16 КB) приходится специально переделывать приложение. Так же есть лимиты на количество шагов вычисления (CPU) и оперативной памяти (RAM), потребляемых скриптом, из-за чего приходится оптимизировать код.

После участия в партнёрской программе Cardano наши ИТ-инженеры погрузились в конкретные области разработки программного обеспечения на блокчейне, став первыми разработчиками, которым удалось написать смарт-контракты на Plutus. В результате этот опыт принёс нам новые знания, новых клиентов и новые проекты не только на Cardano, но и на Ethereum. Последнее связано с тем, что язык Ethereum, Solidity, похож на JS, а им как раз владеют наши фронтенд-разработчики. А ещё нас стали чаще приглашать в качестве экспертов в СМИ и на различные профильные мероприятия.

Ссылка на источник:

0
1 комментарий
Demyan Belyakov

Все это очень смешно. Досмотр на выезде из ЕС отсутсвует. Просто системно. Никто частных лиц ни о чем не спрашивает. Ни в Финке ни в Эстонии. Полагаю вам просто хочется пошуршать в кармашках россиян. Покошмарили-пошуршали.

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда