Исходный код контракта
Сами файлы Solidity, структурированные, прокомментированные и организованные так, чтобы второй разработчик или аудитор могли проследить логику, не угадывая.
Блокчейн и Web3
Код контрактов, написанный и проверенный против текущего языка Solidity, его инструментов и компилятора, как выделенный разработчик, проект, поддержка в подборе персонала или консалтинг.
Solidity язык, на котором написано большинство смарт-контрактов Ethereum и совместимых с EVM сетей, и бизнес нанимает Solidity-разработчика в Дубае именно ради глубины в этом одном языке: его синтаксисе, особенностях, поведении компилятора и паттернах, которые сохраняют контракт безопасным после того, как он развёрнут и практически неизменяем. Там, где более широкая блокчейн-роль может касаться многих частей проекта, ценность Solidity-разработчика в том, чтобы знать именно этот язык по-настоящему, а не поверхностно.
Собственная документация проекта Solidity описывает его как “объектно-ориентированный высокоуровневый язык для реализации смарт-контрактов”, на который повлияли C++, Python и JavaScript. Это смешанное наследие объясняет, почему Solidity-разработчик с общим программистским бэкграундом часто быстро осваивает синтаксис, тогда как то, что реально важно, стоимость газа, раскладка хранилища и необратимое развёртывание, требует реального проектного опыта, чтобы делать это правильно.
Эта роль соседствует с нашей страницей разработчика смарт-контрактов, которая построена вокруг результата, а не языка, и с нашей страницей блокчейн-разработчика, которая покрывает более широкое приложение вокруг контракта.
Что пишет Solidity-разработчик
Работа, определённая языком и его инструментами.
Сами файлы Solidity, структурированные, прокомментированные и организованные так, чтобы второй разработчик или аудитор могли проследить логику, не угадывая.
Владение, роли и проверки прав, встроенные в контракт по уже проверенным паттернам, а не изобретённые заново.
Прокси или механизмы обновления, используемые осторожно и только тогда, когда проект действительно в них нуждается, поскольку они добавляют реальную сложность и риск.
Автоматизированные тесты, покрывающие обычное использование и граничные случаи, прогоняемые в локальной или тестовой сети до того, как что-либо попадает в основную сеть.
Правки раскладки хранилища и логики, снижающие стоимость вызова контракта, без ущерба для его корректности или читаемости.
Документация, чистая история коммитов и понятная спецификация, переданные независимому аудитору, прежде чем контракт выходит в сеть с реальными средствами.
Важные навыки
Глубина в языке и инструментах, сверенная с официальными источниками.
| Навык или инструмент | Как выглядит хороший уровень | Почему это важно |
|---|---|---|
| Актуальная версия Solidity | Работает в хорошо протестированном, актуальном релизе и читает список изменений, прежде чем перейти на новый | Изменения языка могут влиять на стоимость газа и поведение между версиями |
| Устоявшиеся библиотеки | Строит на широко проверенных библиотеках вроде OpenZeppelin Contracts для распространённых паттернов | Изобретение базовых паттернов контрактов заново источник многих избегаемых багов |
| Понимание газа | Понимает, как выбор хранилища и логики влияет на стоимость вызова контракта | Пользователи платят за взаимодействие с контрактом, поэтому неэффективный код имеет прямую цену |
| Фреймворк тестирования | Уверенно работает со стандартной цепочкой инструментов тестирования и развёртывания Solidity, а не только с ручным тестированием | Ручное тестирование пропускает граничные случаи, которые автоматизированные тесты ловят последовательно |
| Готовность к аудиту | Пишет код и документацию с прицелом на будущий аудит, а не задним числом | Понятный, хорошо задокументированный код делает независимый аудит быстрее и тщательнее |
OpenZeppelin, на чью библиотеку Contracts широко полагается индустрия, заявляет, что помогает разработчикам “минимизировать риск, используя проверенные в боях библиотеки смарт-контрактов”, и стоит проверить, реально ли кандидат ими пользовался, а не только слышал о них, через собственную документацию OpenZeppelin. Эта таблица честный чек-лист для любого собеседования, когда вы нанимаете Solidity-разработчика в Дубае, на какую бы сеть ни была нацелена роль.
Форматы работы с нами
Проект с определённым объёмом часто естественный формат здесь, поскольку требуемое поведение контракта можно точно описать до старта и сдать по этой спецификации с чёткой финишной чертой и планом тестирования. Выделенный разработчик подходит продукту, который продолжает выпускать новые контракты или их обновления со временем. Поддержка в подборе персонала подходит бизнесу, который хочет иметь Solidity-разработчика в собственном штате на долгий срок, а консалтинг подходит команде с существующим кодом Solidity, желающей опытное второе мнение, не доходящее до полного аудита, прежде чем двигаться дальше.
Оценка кандидата
Проверки, раскрывающие реальный языковой и продакшн-опыт.
Адрес контракта, который можно посмотреть, с исходным кодом, проверенным против развёрнутого байткода, более сильное доказательство, чем приватный образец кода.
Спросите про конкретное изменение, которое он сделал для снижения газа, и какой компромисс оно повлекло. Расплывчатый ответ намекает на ограниченный практический опыт.
Кандидат, называющий устоявшиеся, проверенные библиотеки по имени, обычно осторожнее того, кто описывает написание всего с нуля.
Попросите показать реальный набор тестов из прошлого проекта и запускался ли он автоматически как часть его рабочего процесса.
Сильный кандидат называет конкретный порог, например любой контракт, держащий средства пользователей, а не считает аудиты необязательными.
Эти проверки применимы независимо от того, как вы наняли Solidity-разработчика в Дубае, сами ли вы проводите собеседование или просите нас провести его в рамках поддержки в подборе персонала.
Сертификации
Сертификации самого Solidity от разработчиков языка не существует.
Документация Solidity не описывает и не указывает на формальную программу сертификации, которую ведут её разработчики, поэтому рекламируемый диплом “сертифицированного Solidity-разработчика” исходит от стороннего поставщика обучения, а не от самого языка. Взвесьте любой такой сертификат против проверок выше, прежде чем нанять Solidity-разработчика в Дубае только на его основании.
Проверенный, развёрнутый контракт, конкретная история оптимизации газа и чёткие ответы про тестирование и аудиты говорят больше, когда вы нанимаете Solidity-разработчика, чем название сертификата в профиле.
Особенности ОАЭ
Один регулятор, о котором стоит знать до того, как контракт коснётся реальной ценности.
VARA дубайский орган, отвечающий за регулирование деятельности с виртуальными активами, предоставляемой в эмирате или из него. Любой, кто планирует нанять Solidity-разработчика в Дубае для контракта, лежащего в основе сервиса виртуальных активов, должен поднять вопрос лицензирования с VARA или юристом до развёртывания, а не после.
Поскольку развёрнутый контракт трудно или невозможно изменить потом, решайте на этапе оценки объёма, а не в конце, нужен ли независимый аудит перед развёртыванием в основной сети, и закладывайте на него время.
Регуляторный пункт выше называет, кто что регулирует, и не является юридической консультацией. Подтверждайте любой вопрос лицензирования напрямую с VARA или собственными юристами до начала сборки.
Эта роль относится к нашей категории блокчейна и Web3, доступной из найма разработчиков в Дубае. Если ваш бриф построен вокруг поведения контракта, а не именно языка, наша страница разработчика смарт-контрактов может подойти лучше, а для более широкого приложения вокруг контракта смотрите блокчейн-разработчика или Web3-разработчика. Для инфраструктуры сети, а не кода контракта, наша страница блокчейн-инженера подходит точнее, а для работы по безопасности за пределами блокчейна смотрите кибербезопасность.
Прямые ответы
Тесно связано, но не идентично. Solidity-разработчик определяется самим языком, в основном Ethereum и другими совместимыми с EVM сетями. Разработчик смарт-контрактов определяется результатом, дизайном и поведением контракта, и может работать больше чем на одном языке контрактов в зависимости от сети.
Актуальный, хорошо протестированный релиз, а не самый свежий выпуск в день его выхода. Документация Solidity версионируется именно по этой причине, и грамотный разработчик проверяет список изменений версии, прежде чем принимать её для чего-либо, что держит реальную ценность.
Да, на любой сети, совместимой с Ethereum Virtual Machine, включая несколько широко используемых сетей помимо самого Ethereum. Скажите нам, на какую сеть нацелен ваш проект, и мы подтвердим опыт Solidity-разработчика именно на этой сети.
Solidity-разработчик может писать тесты и проводить собственный внимательный обзор, но формальный, независимый аудит отдельное, специализированное сотрудничество, которое должно быть у аудиторской фирмы, прежде чем что-либо с реальной ценностью выходит в сеть, и мы помогли бы оценить это отдельно.
Часто на рабочем уровне, но полную сборку приложения обычно лучше оценивать вместе с блокчейн-разработчиком или Web3-разработчиком наряду со специалистом по Solidity, особенно на более крупном продукте, где контракт лишь часть работы.
Источники
Фиксированная цена в письменном виде
Получили. Мы уже готовим ваше предложение.
В рабочее время вы получите его в течение 45 минут. Проверьте почту, там письмо с подтверждением.