Перейти к содержимому
highrisk.news
Написать

Senior Solidity-разработчик (блокчейн-разработчик смарт-контрактов)

Senior Solidity/Blockchain Developer

Senior Solidity/Blockchain Developer пишет и аудитирует смарт-контракты для on-chain-игр и расчётов: логику ставок и выплат, генераторы случайных чисел и безопасность кода.

Кто такой Senior Solidity/Blockchain Developer

Senior Solidity/Blockchain Developer отвечает за смарт-контракты, которые исполняют игровую логику и денежные операции на блокчейне. В гемблинге это могут быть on-chain-казино, ставки на события, токенизированные призы и выплаты, где ошибка в коде означает прямые финансовые потери и репутационный ущерб, а транзакции нельзя откатить.

Компании в рисковых вертикалях нанимают эту роль, когда продукт выходит за пределы традиционного бэкенда и часть логики переносится в контракты. Нужен человек, который может спроектировать архитектуру, честно обосновать схему генерации результатов для игрока, закрыть контракты от атак и довести их до аудита и деплоя. Для такой роли важнее дисциплина в безопасности, чем скорость выкатки фич.

Обычно роль подчиняется CTO или техлиду блокчейн-направления. Senior-разработчик ведёт код-ревью младших разработчиков, взаимодействует с backend-командой, которая работает с кошельками и индексацией событий, и с риск-командой, которая отвечает за лимиты и комплаенс. Во внешнем контуре он работает с аудиторами и провайдерами инфраструктуры.

Обязанности

  • Проектировать архитектуру смарт-контрактов: игровая логика, учёт ставок, пулы ликвидности, выплаты и обновляемость (proxy-паттерны) под требования продукта
  • Писать код на Solidity и тестировать его: юнит-тесты, фаззинг, инвариантные тесты, тесты на форках сетей
  • Готовить контракты к внешнему аудиту, закрывать найденные уязвимости и документировать допущения
  • Проектировать и проверять механизм честной случайности (verifiable randomness), чтобы результат раунда нельзя было предсказать или подменить
  • Оптимизировать потребление газа и стоимость транзакций для игрока
  • Настраивать деплой и управление контрактами: мультисиг, таймлоки, роли и права администраторов
  • Вести код-ревью для мидл- и джуниор-разработчиков и задавать стандарты безопасности
  • Разбирать инциденты: аномальные транзакции, сбои индексации, спорные выплаты, и участвовать в постмортемах
  • Согласовывать с продуктом и риск-командой лимиты, паузы и аварийные процедуры для контрактов

Навыки

  • Глубокое знание Solidity и EVM: типы данных, storage-layout, модификаторы, работа с call, delegatecall и событиями
  • Понимание типовых уязвимостей: reentrancy, переполнения, манипуляции оракулами, front-running, неправильное использование прав доступа
  • Умение писать тесты и фаззинг-сценарии, а также читать чужой код на предмет багов
  • Опыт работы с proxy-паттернами и обновляемыми контрактами, понимание их рисков
  • Понимание стоимости газа и компромиссов между безопасностью и экономикой транзакции
  • Навыки работы с Git, код-ревью и документацией архитектурных решений
  • Умение объяснить риски нетехническим коллегам: продукту, юристам и риск-команде
  • Опыт взаимодействия с внешними аудиторами и управления исправлениями по их замечаниям
  • Понимание базовых принципов криптографии, достаточное для оценки схем случайности и подписей

Инструменты

  • Hardhat или Foundry для разработки, тестирования и деплоя
  • Slither, Mythril и другие статические анализаторы
  • Этherscan-подобные обозреватели блоков и верификация исходников
  • Git и системы код-ревью
  • Мультисиг-кошельки для управления контрактами (например, Safe)
  • Инструменты мониторинга событий и алертинга по контрактам
  • Fuzzing-инструменты, например Echidna
  • Документация и трекер задач (Jira, Linear или аналоги)

Как оценивают работу: KPI

  • Количество критических и высоких уязвимостей, найденных после деплоя (целевой показатель — ноль)
  • Доля контрактов, прошедших внешний аудит до выпуска в продакшн
  • Покрытие кода тестами и доля инвариантных тестов
  • Время закрытия замечаний аудита
  • Стоимость транзакций для пользователя относительно плана оптимизации
  • Количество инцидентов, связанных с контрактной логикой, и время их устранения
  • Доля релизов без регрессий по выплатам

Особенности по вертикалям

Gambling

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

Грейды: чем отличается уровень

Senior

Senior отвечает за архитектуру и безопасность контрактов целиком, принимает решения о схеме обновлений, выбирает подрядчиков по аудиту и отвечает за то, что код не уйдёт в продакшн без проверки. Он наставляет младших разработчиков, блокирует небезопасные изменения и участвует в разборе инцидентов на уровне команды.

Как стать Senior Solidity/Blockchain Developer

Обычно в профессию приходят из разработки на Ethereum-совместимых сетях, из backend-разработки на Python, Go или JavaScript с переходом на Solidity, либо из информационной безопасности с интересом к смарт-контрактам. Важна не только сама смена языка, но и опыт продуктовой разработки: реальный деплой, работа с тестами и релизами.

Чтобы вырасти до senior, нужно пройти путь от написания простых контрактов к сложной архитектуре: изучить типовые уязвимости по публичным разборам аудитов, практиковаться в поиске багов в открытых проектах, освоить фаззинг и формальные инварианты. Полезно участвовать в код-ревью и самостоятельно разбирать инциденты, опубликованные в отрасли.

Для гемблинга дополнительно нужно понимать регуляторные ограничения, требования к честности игры и работу с риск-командой. Этот слой знаний обычно приобретается в проекте, а не на курсах, и становится заметным при переходе с позиции middle на senior.

Куда расти дальше: Lead Blockchain Developer, Smart Contract Security Engineer, Principal Engineer (blockchain), Head of Blockchain Engineering, CTO

Термины, которые нужно знать

  • Смарт-контракт
  • EVM
  • Reentrancy-атака
  • Аудит смарт-контрактов
  • Proxy-паттерн
  • Provably Fair
  • Мультисиг
  • Газ (gas fee)
  • GGR
  • Оракул

Частые вопросы

Чем Senior Solidity-разработчик отличается от обычного Solidity-разработчика?

Обычный разработчик пишет контракты по задачам, а senior отвечает за архитектуру, безопасность и обновляемость системы в целом. Он принимает решения о том, какая логика выносится on-chain, как устроены права администраторов и как готовить контракты к аудиту.

Нужно ли знать гемблинг, чтобы работать в этой роли?

Для игровых on-chain-продуктов нужно понимать механику ставок, банка и выплат, а также требования к честности игры. Глубокий опыт в гемблинге можно получить в проекте, и команда обычно ценит способность быстро разобраться в домене.

Почему в гемблинге так важен аудит смарт-контрактов?

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

От чего зависит доход в этой профессии?

Доход зависит от уровня ответственности, глубины знаний в безопасности смарт-контрактов, опыта в продуктовой разработке и от того, работает ли специалист в проекте с высокой нагрузкой на деньги пользователей. Значение также имеют рынок труда и регион найма.

Какие задачи обычно самые сложные для senior-разработчика?

Самыми сложными обычно оказываются обновления уже работающих контрактов без потери состояния, честная схема случайности и баланс между оптимизацией газа и безопасностью. Часто приходится принимать решения при неполной информации и под давлением сроков.

Что дальше

Похожие профессии