WorkListВойтиОформить подписку
XS

Senior QA Engineer Position for Xsolla's Smart Wallet in Web3

Xsolla · Платёжные технологии для игр
Откликнуться на сайте компании ↗

О вакансии

Откуда можно работать
Гибрид
Занятость
Full-time
из текста вакансии
Английский
C1
из текста вакансии
Уровень
Senior
указан работодателем
Деньги
≈ $2,5–5,1 тыс/мес · оценка Worklist
по мировому рынку, данные за август 2026 · Как считаем
Даты
Опубликована 29.10 · видим у компании с 29.10 · проверена 02.11
дата публикации от работодателя
Почему в каталоге:Основана выходцами из Восточной Европы, Кавказа и Центральной АзииПодробнее о компании →

Описание переведено машинно с английского.

Суть роли

Мы ищем Senior QA Engineer, который тестировал реальные on-chain-продукты — контракты и транзакции, а не только веб-приложение перед ними. Вы будете отвечать за качество smart wallet Xsolla на Xsolla ZK — нашем Ethereum-совместимом ZK rollup: кошелька, с помощью которого игроки хранят, получают и отправляют токены и внутриигровые предметы, входя в систему через уже имеющийся у них аккаунт.

Работа идёт по обе стороны цепочки. На бэкенде вы будете подтверждать, что адрес кошелька, заранее вычисленный из salt, — это именно тот адрес, по которому кошелёк в итоге развёртывается. На фронтенде вы будете отслеживать подписанную операцию от RPC-вызова клиента через bundler до finality и доказывать, что она дошла, завершилась ошибкой или была отменена (revert) так, как должна. Вы будете делать форк цепочки, чтобы тестировать на реальном состоянии, развёртывать и вызывать контракты из командной строки и превращать полученные знания в автоматизированные наборы тестов.

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

Что предстоит делать

  • Отвечать за сквозную стратегию тестирования кошелька: вход в систему, создание кошелька, отображение активов, отправка и получение, подтверждение транзакций на Xsolla ZK.
  • Тестировать сценарии account abstraction: построение и валидацию UserOperation, отправку в bundler, исполнение через EntryPoint, оплату газа через paymaster, а также поведение session key и signer.
  • Тестировать подпись от начала до конца: запросы personal_sign и EIP-712 typed-data через провайдер EIP-1193 и проверку подписи контрактом кошелька (ERC-1271), в том числе до развёртывания кошелька.
  • Проверять counterfactual-развёртывание: что адрес, полученный через CREATE2 из factory, salt и init code, совпадает с адресом развёрнутого контракта кошелька — на форке или локальной цепочке, до выхода в mainnet.
  • Развёртывать, вызывать и анализировать смарт-контракты из командной строки, чтобы подготавливать тестовое состояние и воспроизводить дефекты.
  • Использовать инструменты форка цепочки и симуляции, чтобы тестировать на реальном состоянии сети без реальных средств, и находить первопричину упавших транзакций с помощью трассировки.
  • Проверять весь жизненный цикл транзакции — broadcast, inclusion, reorgs и finality — и сценарии сбоев: reverts, неуспешные UserOperations, недостаточный баланс, истёкшие session keys, смена владельца в процессе выполнения и ошибки bundler.
  • Сверять то, что видят игроки, с on-chain-состоянием: балансы и владение NFT в индексаторе — с состоянием контракта, в том числе когда индексатор отстаёт или расходится с цепочкой, а также записи соответствия аккаунтов и кошельков, лежащие в основе Xsolla ID.
  • Тестировать переводы и approvals для ERC-20, ERC-721 и ERC-1155, включая частичные количества ERC-1155 и safe transfers на контрактные кошельки.
  • Писать приёмочные тесты для SDK и контрактов кошелька партнёра и сообщать о дефектах интеграции с доказательствами, необходимыми, чтобы передать их нужному владельцу.
  • Создавать и поддерживать автоматизацию: Playwright для UI-сценариев кошелька и скриптовые on-chain-проверки на TypeScript, которые запускаются в CI.
  • Настраивать и поддерживать AI-инструменты в тестовых репозиториях (Claude Code, Codex, Cursor: правила, контекст, harness), чтобы QA-инженеры и разработчики использовали их эффективно.
  • Планировать и проводить валидацию релизов от testnet до mainnet, включая проверку развёртывания контрактов и smoke-проверки после деплоя.
  • Работать с командой безопасности над подписью, обращением с ключами и сценариями экспорта ключей, а также тестировать на signature replay, фишинг через typed-data и злоупотребление token approval.
  • Наставлять QA-инженеров, новых в Web3, и повышать уровень практики on-chain-тестирования в разных командах.

Требования

Необходимый опыт

  • Степень бакалавра в области Computer Science, Software Engineering, Information Systems или смежной области (или международный эквивалент).
  • 6+ лет в тестировании ПО или обеспечении качества, включая 2+ года практического тестирования EVM-продуктов.

Библиотеки и инструменты Web3

  • Практическая работа с viem и wagmi (ethers.js тоже подходит): чтение состояния контрактов, отправка транзакций, декодирование событий и ошибок revert из тестового кода.
  • Развёртывание смарт-контрактов и взаимодействие с ними из командной строки с помощью Foundry (forge, cast, anvil) или Hardhat; умение читать Solidity настолько, чтобы понимать, что должен делать контракт.
  • Форк цепочки и симуляция с помощью Anvil, Tenderly или аналогичных инструментов, а также трассировка упавшей транзакции от block explorer или transaction trace до причины revert.

On-chain-основы

  • Рабочее понимание транзакций Ethereum: nonces, gas, receipts, events и logs, reverts, reorgs и finality — включая разрыв между подтверждением sequencer и finality на L1 в rollup — и того, как индексаторы могут отставать от состояния цепочки или расходиться с ним.
  • Стандарты токенов: механика ERC-20, ERC-721 и ERC-1155, включая approvals и callbacks для safe transfer, которые контрактный кошелёк должен реализовать, чтобы получать NFT.
  • Как работают signers кошельков: EOAs, embedded wallets и smart accounts; personal_sign (EIP-191) и typed data (EIP-712); провайдер EIP-1193; проверка подписи для контрактных аккаунтов (ERC-1271).
  • Практическое понимание account abstraction (ERC-4337): UserOperations, bundlers, EntryPoint, paymasters, counterfactual-развёртывание и вычисление адреса через CREATE2, session keys.
  • Основы безопасности кошельков: signature replay и cross-chain replay, фишинг через подпись typed-data и злоупотребление token approval — и умение проектировать тест-кейсы, которые их выявляют.

Тестирование и автоматизация

  • Автоматизация тестирования на TypeScript или JavaScript и UI-автоматизация с помощью Playwright или аналогичного фреймворка.
  • Тестирование API по REST и JSON-RPC, включая методы bundler (eth_sendUserOperation, eth_estimateUserOperationGas, eth_getUserOperationReceipt), и базовый SQL.
  • Ежедневное практическое использование AI-инструментов для разработки (Claude Code, Codex, Cursor) для проектирования тестов, автоматизации и ревью — генерация тест-кейсов по спецификациям, анализ логов и transaction traces — включая настройку их для репозитория.

Способ работы

  • Умение проводить сложное тестирование с высокой значимостью при минимальном контроле и широкой свободе самостоятельных решений.
  • Отличный письменный и разговорный английский и подтверждённый опыт сотрудничества в кросс-функциональных командах в разных часовых поясах.

Будет плюсом

  • Опыт работы с кошельком, децентрализованной биржей или NFT-маркетплейсом.
  • ZK Stack и zk-rollups: нативный account abstraction и сценарии paymaster в цепочках семейства zkSync, а также чем finality, gas и совместимость с EVM отличаются от Ethereum mainnet.
  • Интеграции SDK embedded-, MPC- или white-label-кошельков.
  • Делегирование EIP-7702 и проверка подписи ERC-6492 для аккаунтов, которые ещё не развёрнуты.
  • Написание on-chain-тестов в Foundry, включая fuzz- и invariant-тесты; знакомство с контрактами OpenZeppelin и референсной реализацией ERC-4337.
  • Продукты потребительского масштаба или игровые продукты.
  • Умение читать Go.
  • Нагрузочное и performance-тестирование потоков транзакций большого объёма, например с помощью k6.

Условия и бенефиты

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

Xsolla — работодатель, предоставляющий равные возможности. Мы ценим разнообразие и стремимся создавать инклюзивную среду для всех сотрудников. Мы не допускаем дискриминации по признаку расы, цвета кожи, религии, пола, национального происхождения, возраста, инвалидности, сексуальной ориентации, гендерной идентичности или любого другого признака, защищённого законом.

Навыки

viemwagmiethers.jsFoundryforgecastanvilHardhatSolidityTenderlyPlaywrightTypeScriptJavaScriptJSON-RPCSQLClaude CodeCodexCursorERC-4337k6

Подходите ли вы под эту вакансию

Сверка вакансии с резюме доступна тем, кто вошел. Войти