Формат: Контрактная работа (5–6 месяцев), удаленно.

Суть роли:

Вы будете основным разработчиком интерфейса, который является не просто UI, а криптографическим движком на стороне клиента. Ваша задача — обеспечить безопасность и удобство генерации доказательств с нулевым разглашением (ZK-Proof) и управление пользовательскими секретами.

Ключевые обязанности:

  1. Генерация ZK-Proof: Интеграция ZK-библиотек (например, snarkjs) для выполнения сложных криптографических вычислений в браузере. Ответственность за генерацию zk-SNARK proof и публичных входов при выводе средств.
  2. Синхронизация дерева Меркла: Настройка взаимодействия с off-chain Event Indexer Service для получения актуальной, локальной копии Merkle Tree и Merkle Path, которые критически необходимы для создания ZK-Proof.
  3. Управление состоянием: Разработка логики для генерации криптографически стойких secret и nullifier при депозите и безопасного сохранения пользовательского Note.
  4. Базовая разработка DApp: Реализация UI, подключения кошельков и логики выбора пулов и ретрансляторов.

Требования к опыту (Hard Skills):

  • Frontend Core: Экспертное знание React (или Next.js) и TypeScript.
  • Web3/EVM интеграция: Глубокое знание Web3.js или Ethers.js (оба являются предпочтительными), опыт работы с кошельками, транзакциями и мониторингом событий.
  • Криптографическая интеграция (критично): Обязателен опыт работы с ZK-библиотеками (snarkjs или аналоги), включая загрузку Proving Key и выполнение функции fullProve или аналогичных ресурсоемких криптографических расчетов.
  • Оптимизация: Навыки оптимизации кода для выполнения интенсивных вычислений в браузере без ухудшения пользовательского опыта.

Будет плюсом:

  • Опыт работы с Merkle Trees и их реализацией в браузере.
  • Понимание архитектуры Tornado Cash.

Ключевое примечание: Ваша зона ответственности — криптографическая магия в браузере. Вам нужно принимать данные от ZK Cryptographer и Backend Engineer (Indexer) и превращать их в готовую для отправки транзакцию.