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

Solidity-разработчик

Solidity Developer (Smart Contract Engineer)

Solidity-разработчик пишет и аудитирует смарт-контракты на Ethereum и EVM-совместимых сетях: токены, стейкинг, DeFi-протоколы, мосты. Отвечает за безопасность кода в продакшене.

Кто такой Solidity Developer

Solidity-разработчик создаёт программы, которые работают в блокчейне: смарт-контракты на языке Solidity, исполняемые в сети Ethereum и других EVM-совместимых сетях. Контракт нельзя просто поправить после релиза, поэтому ошибка в логике или уязвимость может стоить проекту денег пользователей. Именно поэтому в крипто-продуктах эта роль критична для безопасности и доверия.

В рисковых криптовертикалях Solidity-разработчик нужен для токенов, стейкинга, пулов ликвидности, кошельков с мультиподписью, мостов между сетями и NFT-маркетплейсов. Компания держит на контрактах реальные средства, поэтому любой баг конвертируется в финансовые потери, репутационный ущерб и претензии. Разработчик работает между продуктовой командой, которая задаёт механику, и аудиторами, которые проверяют код до и после деплоя.

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

Обязанности

  • Проектирование архитектуры смарт-контрактов: хранение состояния, права доступа, обновляемость (proxy-паттерны) и взаимодействие между контрактами
  • Написание кода на Solidity по техническому заданию продуктовой команды
  • Покрытие контрактов юнит- и интеграционными тестами, включая fuzz- и invariant-тесты
  • Самостоятельный анализ уязвимостей (reentrancy, ошибки округления, неправильный контроль доступа, манипуляции оракулами) до передачи на внешний аудит
  • Исправление замечаний внешних и внутренних аудиторов и повторная проверка исправлений
  • Подготовка скриптов деплоя и верификации контрактов в обозревателях блокчейна
  • Оптимизация расхода газа при взаимодействии пользователей с контрактами
  • Ведение технической документации и описания инвариантов для аудита
  • Участие в разборе инцидентов и выпуске экстренных обновлений или пауз контрактов

Навыки

  • Уверенное знание Solidity и устройства EVM: газ, storage-слоты, типы вызовов, события
  • Понимание типовых атак на DeFi и умение строить модель угроз
  • Работа с стандартами токенов (ERC-20, ERC-721, ERC-1155) и обновляемыми контрактами
  • Написание тестов и оценка покрытия кода
  • Чтение чужого кода и аудиторских отчётов
  • Знание JavaScript или TypeScript для скриптов и тестовой инфраструктуры
  • Понимание архитектуры блокчейна, консенсуса и работы с оракулами
  • Умение объяснить техническое решение продукту и риск на языке бизнеса
  • Дисциплина при работе с ключами и деплоем в продакшен

Инструменты

  • Hardhat
  • Foundry
  • Remix IDE
  • OpenZeppelin Contracts
  • Slither
  • Etherscan и аналогичные обозреватели блокчейна
  • Tenderly для симуляции транзакций и отладки
  • Git и GitHub

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

  • Количество критичных и высоких уязвимостей, найденных до внешнего аудита
  • Доля исправлений аудиторских замечаний, принятых и закрытых в срок
  • Покрытие контрактов тестами
  • Отсутствие инцидентов с потерей средств по вине кода
  • Своевременность релизов и деплоев согласно дорожной карте
  • Средний расход газа на ключевые операции пользователей

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

Crypto

В криптовертикали Solidity-разработчик отвечает за код, который напрямую хранит и перемещает активы пользователей. Ошибка в контракте приводит к необратимой потере средств, поэтому здесь особенно важны тестирование, аудит и консервативный подход к обновлениям.

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

Specialist

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

Как стать Solidity Developer

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

Для входа стоит освоить Solidity и инструменты Hardhat или Foundry, разобрать стандарты токенов OpenZeppelin, написать несколько учебных контрактов и покрыть их тестами. Полезно изучать публичные разборы известных взломов и аудиторские отчёты, а также читать исходники открытых протоколов и вносить в них свои улучшения.

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

Куда расти дальше: Senior Solidity Developer, Smart Contract Auditor, Lead Blockchain Engineer, Protocol Engineer, Security Engineer (Web3)

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

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

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

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

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

Нужно ли знать математику или криптографию?

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

Какой уровень дохода ожидать?

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

Нужно ли иметь опыт в крипто, чтобы попасть на позицию?

Опыт в криптосфере помогает, но не всегда обязателен. Работодатели ценят понимание принципов блокчейна, демонстрацию учебных или открытых проектов и умение объяснять риски. Фундамент в разработке и безопасности часто важнее, чем опыт в конкретном токене.

Чем Solidity-разработчик отличается от аудитора смарт-контрактов?

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

Не пропускайте такие новости

  • 📰 Главное за день — в канале @highrisk_media
  • 📡 Сигналы о проблемах PSP и платёжных методов — в боте
  • 🔒 HighRisk Private — закрытый чат с темами по iGaming, платежам, крипте, дейтингу, нутре
  • 📄 Резюме, которое увидят рекрутеры индустрии

Что дальше

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