Написать в Telegram@Odilient

ФРОНТЕНД-РАЗРАБОТКА

Фронтенд DAO для торговли ресурсами

Фронтенд и интеграция кошелька TronLink для децентрализованной организации, которая торгует природными ресурсами на блокчейне TRON. Сделано на Nuxt.js и Vue.js для Web3-клиента под NDA.

NDA
Клиент
Финтех и криптовалюты
Отрасль
4 месяца
Срок
2021
Год
С чего всё началось

Задача

Децентрализованной организации, которая добывает природные ресурсы и торгует ими, нужно было подключить веб-приложение к блокчейну TRON. Пользователи должны были входить и проводить операции через браузерный кошелёк TronLink, а не через учётные данные, которые хранит приложение, а фронтенд — не отставать ни от состояния блокчейна, ни от собственных бэкенд-сервисов организации.

Что мы сделали

Решение

Мы сделали фронтенд приложения на Nuxt.js и Vue.js и интегрировали расширение TronLink для доступа к аккаунту и подписи транзакций. Ещё мы построили слой связи между фронтендом и бэкендом на Express.js и MongoDB и обработали состояния кошелька, к которым должен быть готов любой dApp: расширение не установлено, кошелёк заблокирован, выбрана не та сеть, пользователь сменил аккаунт.

Технологии
Nuxt.jsVue.jsTronLinkTRONExpress.jsMongoDB
За кулисами

Как всё создавалось

Для Web3-клиента под NDA — децентрализованной организации, которая занимается добычей природных ресурсов и торговлей ими, — мы сделали фронтенд веб-приложения и подключили его к блокчейну TRON через кошелёк TronLink. Главное правило: любое чувствительное действие проходит через собственный кошелёк пользователя и никогда — через учётные данные, которые хранит приложение.

Что мы сделали

  • Фронтенд приложения — интерфейс dApp на Nuxt.js и Vue.js.
  • Интеграция TronLink — обнаружение браузерного расширения, запрос доступа к аккаунту и отправка транзакций пользователю на подпись.
  • Обработка состояний кошелька — понятные сценарии на случай, если расширения нет, кошелёк заблокирован, выбрана не та сеть или пользователь сменил аккаунт.
  • Связь с бэкендом — слой между фронтендом и сервисами организации на Express.js, которые хранят данные в MongoDB.

Как браузерный кошелёк меняет фронтенд

С TronLink приложение никогда не хранит ключи. Оно запрашивает у кошелька адрес, готовит транзакцию и ждёт, пока пользователь подтвердит её в расширении. Из-за этого всё самое сложное переезжает в интерфейс: нужно понимать, установлен ли кошелёк и разблокирован ли он, замечать, когда пользователь посреди сессии переключает аккаунт или сеть, и честно показывать, что происходит, пока подпись ещё не получена.

Наша роль

Мы сделали фронтенд и интеграцию с кошельком за четыре месяца. Остальные подробности об организации и её платформе остаются под NDA.

Смежные работы

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

Создадим вместе

Хотите что-то вроде Фронтенд DAO для торговли ресурсами?

Расскажите, что должен делать ваш продукт. Мы определим объём работ, распишем сроки и пришлём фиксированную цену — бесплатно и без обязательств продолжать.

Бесплатная консультация Без обязательств Быстрый ответ