Основные обязанности:
- Проектирование и внедрение автоматизированных тестовых фреймворков для оракульных смарт-контрактов, охватывающих модульные тесты, интеграционные тесты и сквозные тесты.
- Разработка и выполнение тестовых сценариев безопасности с акцентом на ключевые сценарии, такие как поставка ценовых данных, получение данных вне цепочки, механизмы консенсуса с участием нескольких сторон и устойчивость к атакам типа Sybil.
- Моделирование различных аномальных условий в цепочке и сети (например, высокие комиссии Gas, задержки в сети, сбои узлов) для проведения стресс-тестирования и тестирования отказоустойчивости.
- Тесное взаимодействие с командой разработки для проведения сканирования уязвимостей и помощи в аудите кода перед развертыванием контрактов, обеспечивая отсутствие критических рисков безопасности.
- Создание и поддержание в актуальном состоянии четкой документации по тестированию, отчетов об ошибках и отчетов по оценке качества.
- Участие в проверке точности данных оракульных узлов и проведении бенчмаркинга производительности.
- Постоянное отслеживание инструментов тестирования блокчейна и лучших практик, а также внедрение новых методологий тестирования для повышения эффективности.
Требования:
- Степень бакалавра или выше в области компьютерных наук, программной инженерии или смежных областях.
- Опыт работы 3+ года в тестировании или разработке смарт-контрактов, владение Solidity и основными тестовыми фреймворками (например, Hardhat, Truffle, Foundry).
- Глубокое понимание механизмов оракулов (например, Chainlink, Band Protocol) и осведомленность о распространенных векторах атак (например, атаки с использованием flash loan, подделка данных).
- Знание основных концепций блокчейна (механизмы консенсуса, оптимизация Gas, журналы событий и т.д.) и инструментов (например, Web3.js, Ethers.js).
- Умение разрабатывать автоматизированные тестовые скрипты на JavaScript/TypeScript, Python или аналогичных языках.
- Предпочтителен опыт в области тестирования безопасности или аудита кода, знание распространенных уязвимостей (например, повторный вход, переполнение целочисленных значений) и методов их предотвращения.
- Сильные коммуникативные навыки и ориентированность на сотрудничество, адаптивность к средам гибкой разработки.
Желательные квалификации:
- Практический опыт тестирования или разработки оракульных проектов, знакомство с децентрализованными источниками данных и сетями узлов.
- Знания в области доказательств с нулевым разглашением (zero-knowledge proofs), TEE (Trusted Execution Environment) и других технологий оракулов, связанных с конфиденциальностью.
- Опыт работы с инструментами тестирования производительности (например, K6, Gatling) или разработкой инструментов мониторинга в цепочке.
- Вклад в проекты с открытым исходным кодом на GitHub или наличие демонстрируемого портфолио тестовых кейсов.