Как сказал серп — We are so fucking back, а это значит, что время потизерить что-нибудь интересное.
Продуктивные полтора месяца работы и я рад заанонсить первую крупную фичу, которую вчера я финально перевёл в статус Done — 1-Click-Trading ✅
До начала работы я все еще не понимал, что такое этот ваш Account Abstraction, какие его юзкейсы использования и чем он может быть полезен для DeFi протоколов.
Ресерч 🔬
Пришлось изучать буквально все. Стандарты — ERC-4337, ERC-2771. Провайдеры, которые можно использовать — Biconomy, Gelato, Safe, Alchemy. Не обошел стороной меня и Solidity — не зря ведь я Fullstack Developer, задеплоил первые контракты в мейннете, форкнул Validation Module и сделал свою версию модуля для MVP без привлечения других разработчиков. Фронтенд тоже оказался в новинку — попробовал redux toolkit и styled components для стилизации.
А еще, проникся использованием Tenderly — научился правильно дебажить вызовы смарт-контрактов, делать полноценные симуляции транзакций и User Operations и работать с неверифицированными контрактами.
Билдим 👷🏻♂️
На удивление, самой сложной для меня оказалась фронтенд часть, ведь это было первое взаимодействие с фронтендом за полгода, не считая однострочных фиксов. Усугублялось это тем, что спрашивать «тупые» вещи у команды совершенно не хотелось, ведь на Senior позиции ты должен все знать сам. Вредное когнитивное искажение, которое мешает, но со временем это прошло и с командой образовался более плотный нетворк.
В итоге мы выбрали Biconomy, как AA партнера и стали разрабатывать на их SDK. Мы использовали Account Abstraction кошелек, чтобы не сильно изменять текущий код нашего протокола, а для отключения подписей выбрали вариант с Session Private Key, который хранится в localStorage пользователя и может подписывать только определенные виды транзакций на один смарт-контракт.
Кстати, впервые при разработке функционала я прибегнул к написанию технического overview того, как все работает. 4 диаграммы, полная терминология и таблица анализа рисков были очень важными для разработки, так как просто читая код и тестируя пользовательский интерфейс легко было запутаться другим участникам команды. За счет построенных диаграм взаимодействий и терминологии удалось отлично сработаться с дизайнером, потому что User Interface преобразился минимум 6 раз. Финальные дополнения, как это обычно бывает, внедрялись уже за час до релиза 😁
Результат
Что же такого важного дает эта функциональность для квенты? User Experience
Представьте ситуацию, когда вы активно
А если усложнить это использованием мобильного кошелька, подключенного через WalletConnect или подключенного холодного кошелька через Ledger? Лишние несколько действий и 10-20 секунд могут иметь решающее значение как для вашего трейда, так и для удобства использования.
Теперь эта проблема в децентрализованной торговле убирается и приближает опыт использования к централизованным биржам, при этом оставляя основные преимущества — контроль своего кошелька и децентрализованность исполнения. Конечно, можно было сделать торговлю через off-chain ордера, привязать к ним централизованный бэкенд и оставить «децентрализацию» только на словах и использовании блокчейна для хранения средств, но это не трушно, тем более технологии уже позволяют делать это безопасно.
TLDR: Мега-буллиш по Account Abstraction, продуктовому подходу в квенте и сложности задач, которые передо мной поставлены здесь. Многим я уже обещал больше рассказывать о том, как устроена техническая и продуктовая часть работы в иностранных компаниях, но всему свое время. А пока просто хотел поделиться своими эмоциями радости за то, что делаю. Скоро будут еще более интересные анонсы, не теряйте✌🏻
Оффициальный анонс на Mirror - Link
Попробовать можно здесь (лично я жду откат роста по BTC, но DYOR) – Link