Название: Инженер по тестированию смарт-контрактов (QA Engineer), Atlas Oracle
Компания: CoinMarketCap
Местоположение: Глобально / Дубай / Гонконг / Куала-Лумпур / Тайбэй / Лондон / Пенанг / Сингапур / Ханой / Хошимин / удаленно
Основные обязанности:
- Разрабатывать и внедрять фреймворки автоматизированного тестирования для смарт-контрактов оракула, включая модульные тесты, интеграционные тесты и сквозные тесты (end-to-end).
- Разрабатывать и выполнять тестовые сценарии безопасности, фокусируясь на ключевых сценариях, таких как каналы передачи ценовых данных, получение данных вне блокчейна (off-chain), механизмы консенсуса нескольких участников и устойчивость к атакам Sybil.
- Симулировать различные нештатные условия в блокчейне и сети (например, высокие комиссии за Gas, задержки в сети, сбои узлов) для проведения стресс-тестирования и тестирования отказоустойчивости.
- Тесно сотрудничать с командой разработчиков для сканирования уязвимостей и оказания помощи в аудите кода перед развертыванием контракта, обеспечивая отсутствие критических рисков безопасности.
- Создавать и поддерживать четкую тестовую документацию, отчеты о дефектах и отчеты об оценке качества.
- Участвовать в проверке точности данных узлов оракула и проведении сравнительного анализа производительности.
- Постоянно отслеживать инструменты тестирования блокчейна и лучшие практики, а также внедрять новые методики тестирования для повышения эффективности.
Требования:
- Степень бакалавра или выше в области компьютерных наук, программной инженерии или смежной области.
- Опыт работы в тестировании или разработке смарт-контрактов от 3 лет, со знанием Solidity и основных фреймворков тестирования (например, Hardhat, Truffle, Foundry).
- Глубокое понимание механизмов оракула (например, Chainlink, Band Protocol) и осведомленность о распространенных векторах атак (например, атаки с использованием flash loan, подмена данных).
- Знакомство с фундаментальными концепциями блокчейна (механизмы консенсуса, оптимизация Gas, журналы событий и т. д.) и инструментами (например, Web3.js, Ethers.js).
- Способность разрабатывать скрипты автоматизированного тестирования с использованием JavaScript/TypeScript, Python или аналогичных языков.
- Опыт в тестировании безопасности или аудите кода является преимуществом, со знанием распространенных уязвимостей (например, reentrancy, integer overflow) и методов их устранения.
- Сильные коммуникативные навыки и коллаборативный подход, адаптивность к средам гибкой разработки (agile).
Предпочтительные квалификации:
- Практический опыт тестирования или разработки проектов оракула, со знанием децентрализованных источников данных и сетей узлов.
- Знание доказательств с нулевым разглашением (zero-knowledge proofs), TEE (Trusted Execution Environment) и других технологий оракулов, связанных с конфиденциальностью.
- Опыт работы с инструментами тестирования производительности (например, K6, Gatling) или разработкой инструментов мониторинга в блокчейне.
- Контрибьюции в open-source проекты блокчейна на GitHub или демонстративное портфолио тестовых случаев.