Мы ищем Senior QA Engineer, который тестировал реальные on-chain-продукты — контракты и транзакции, а не только веб-приложение перед ними. Вы будете отвечать за качество smart wallet Xsolla на Xsolla ZK — нашем Ethereum-совместимом ZK rollup: кошелька, с помощью которого игроки хранят, получают и отправляют токены и внутриигровые предметы, входя в систему через уже имеющийся у них аккаунт.
Работа идёт по обе стороны цепочки. На бэкенде вы будете подтверждать, что адрес кошелька, заранее вычисленный из salt, — это именно тот адрес, по которому кошелёк в итоге развёртывается. На фронтенде вы будете отслеживать подписанную операцию от RPC-вызова клиента через bundler до finality и доказывать, что она дошла, завершилась ошибкой или была отменена (revert) так, как должна. Вы будете делать форк цепочки, чтобы тестировать на реальном состоянии, развёртывать и вызывать контракты из командной строки и превращать полученные знания в автоматизированные наборы тестов.
Вы будете работать в небольшой команде опытных инженеров вместе с внешним партнёром по инфраструктуре кошельков. Вы умеете отличить дефект в нашем коде от дефекта в SDK партнёра или в самой цепочке — и приносите доказательства, которые показывают, где именно он находится. AI-инструменты для разработки — часть вашей ежедневной работы, и вы настраиваете их так, чтобы остальная команда получала от них такую же пользу.
Необходимый опыт
- Степень бакалавра в области 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 — включая настройку их для репозитория.
Способ работы
- Умение проводить сложное тестирование с высокой значимостью при минимальном контроле и широкой свободе самостоятельных решений.
- Отличный письменный и разговорный английский и подтверждённый опыт сотрудничества в кросс-функциональных командах в разных часовых поясах.
Мы стремимся создавать поддерживающую среду для нашей команды, поэтому уделяем первостепенное внимание физическому, психическому и эмоциональному благополучию сотрудников и их семей через комплексную программу льгот. Она включает медицинскую, стоматологическую страховку и страховку на лечение зрения, оплачиваемый отпуск (PTO) и персональную карьерную дорожную карту для каждого сотрудника. Инвестируя в профессиональное развитие через обучение и образовательные возможности, мы помогаем нашей команде развиваться как лично, так и профессионально. Вместе мы не просто строим бизнес — мы формируем сообщество, которое ценит творчество, сотрудничество и преобразующую силу игры.
Xsolla — работодатель, предоставляющий равные возможности. Мы ценим разнообразие и стремимся создавать инклюзивную среду для всех сотрудников. Мы не допускаем дискриминации по признаку расы, цвета кожи, религии, пола, национального происхождения, возраста, инвалидности, сексуальной ориентации, гендерной идентичности или любого другого признака, защищённого законом.