Как стать блокчейн разработчиком
Перейти к содержимому

Как стать блокчейн разработчиком

  • автор:

Roadmap Блокчейн Разработчика

Roadmap Блокчейн Разработчика — подробные шаги для становления Блокчейн Разработчиком в 2023.

Вы получите ответы на вопросы: с чего начать изучение Solidity и Web3, как стать блокчейн разработчиком в 2023 году, что нужно знать перед изучением Solidity и как подготовиться к вашему первому интервью на позицию Junior Solidity Developer. И так, поехали!

Мотивационное вступление

На сегодняшний день Блокчейн Разработка — одно из самых перспективных направлений в IT. С этим поспорят только идиоты или люди, которые не верят в крипту. PS: Обычно такие первыми бегут покупать шитки на бычьем рынке и сливают депозит, от этого и «неверование».

Сейчас крипта напоминает золотую лихорадку. Только золото заменяет технология блокчейн и все, что связано с ней — от криптовалют до цифровых смарт-контрактов. Как на этом заработать? — ответ очень простой.

Сегодня Web3 Разработчики — те люди, которые продают кирки. Ведь чтобы заработать на крипте не нужно ее покупать! Лучше предоставлять ценность на этом рынке. А ценность Блокчейн Разработчиков — в возможности решать бизнес задачи крипто-проектов, количество которых растет экспоненциально.

Количество крипто проектов График

График соотношения капитализации криптовалют к количеству крипто-проектов

Помимо работы на крипто-проекты открывается множество возможностей написания и продажи софта, работы на фрилансе или разработке своих собственных проектов, с которых можно зарабатывать на комиссиях.

С чего начать изучение Solidity?

Итак вы решили выйти на путь становления Блокчейн Разработчиком. С чего стоит начать учить Solidity? Ответ очевиден — с Блокчейна. Нельзя писать смарт-контракты и разрабатывать децентрализированные приложения если ты не понимаешь где и как они применяются.

Разберитесь в том как устроен Ethereum, что такое транзакци, EVM, смарт-контракты. Научитесь пользоваться крипто-кошельками, переводить между ними средства, токены, нфт. Повзаимодейcтвуйте со свапалками, NFT, маркетплейсами. Научитесь смотреть на транзакции в explorer, вручную выставлять gas транзакций, запускать контракты и т.д.

Если для вас крипта заканчивается покупкой токенов на Binance то перед собой вы откроете новый мир и возможно осознаете ценность технологии блокчейна. Поделайте что-то в крипте или пройдите наш бесплатный курс «Основы Ethereum», так как без общего понимания будет сложно.

Когда вы разобрались в том, что такое блокчейн и зачем он нужен пора начинать учить Solidity!

Процесс изучения Solidity

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

  • Изучение Основы Solidity

Первый шаг после понимания блокчейна — это изучение основных концепций языка программирования Solidity. Сюда можно отнести: изучение типов данных, операторов, переменных, функций и структур данных. Хорошим способом начать изучение Solidity является прочтение документации, изучение сайта Solidity University.

  • Углубление в Solidity. Создание смарт-контрактов

Вы должны освоить все, что касается создания простых смарт-контрактов. Научиться работать с циклами, разобраться в областях видимости функций и типах функций, научиться работать с модификаторами. Изучите наследование, интерфейсы, принципы SOLID. Продолжайте развиваться в понимании языка и пишите много кода. Будет круто если вы найдете ментора или опытного напарника, который подскажет и будет вас направлять.

  • Деплой смарт контрактов

Научитесь развертывать смарт-контракты в тестовой сети и обращаться к ним. Все это бесплатно! Можно использовать метамаск и тестовую сеть Ethereum. Научитесь верифицировать смарт-контракты с аргументами.

  • Знакомство со стандартами ERC721, ERC20

После того как вы уже достаточно хорошо знакомы с языком Solidity и способны переносить бизнес-логику в смарт-контракты пора изучить стандарты. Здесь вам поможет документация, OpenZeppelin и различные YouTube видео.

  • Подключение Смарт-контракта к Приложению

Научитесь подключать смарт-контракт к приложению. Будь то это html страница. react приложение или игра на Unity. Для каждой цели есть свои инструменты, но самые популярные и необходимые: Web3.js, Ethers.js. Вы обязаны уметь не только написать смарт-контракт но и подключить его к видимой части, чтобы конечный пользователь мог комфортно пользоваться вашим децентрализированным приложением.

  • Изучение Инструментов и Тестирования

Существует множество инструментов, которые могут помочь вам в работе с Solidity. Некоторые из них, такие как Remix и Truffle, предоставляют среду разработки и тестирования контрактов. Другие инструменты, такие как Ganache, могут использоваться для развертывания контрактов на локальном блокчейне. Знание этих инструментов помогает вам ускорить процесс разработке и является важным при трудоустройстве \ выполнении реальных проектов.

  • Изучение уязвимостей смарт-контрактов

После изучения основ тестирования пора углубляться в эту тему и изучать уязвимости смарт-контрактов. Изучите основные типы уязвимостей Reentrancy, Overflow и Underflow. Попробуйте решить задачи на Ethernaut, или посмотрите как их проходят другие и вникните в процесс! ЭТО ОЧЕНЬ ВАЖНО! Ведь самое важное в написании смарт-контрактов это их безопасность.

  • Чтение аудиторских отчетов и углубление в понимание Ethereum, знакомство с Best Practice

Это может помочь вам лучше разобраться в Solidity и Ethereum. Аудиторские отчеты можно найти на GitHub, так же изучайте то как устроены лучшие проекты. Смотрите, изучайте, впитывайте информацию как губка. На этом этапе вам нужно качать свою экспертность.

  • ОПЫТ ОПЫТ ОПЫТ. Сделайте свой пет-проект, поработайте на фрилансе

Продолжайте учиться и развиваться ведь Solidity и Web3 постоянно совершенствуется. Параллельно начинайте работу над реальными проектами, вы уже готовы делать это качественно применяя правильные подходы!
Подтяните свои слабые места и пробелы! Поработайте на фрилансе, освойте новые технологии, инструменты (например Alchemy). Заведите наконец-таки GitHub и выложите туда несколько своих проектов. Решайте задачи! И становитесь лучше. Старайтесь выбирать те проекты и то направление, где вы сможете прокачивать свои скиллы.

Роадмап приведенный выше не есть единственным верным путем становления Блокчейн Разработчиком. Это мое видение того, как стоит изучать Solidity и Web3 разработку с нуля.

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

Что нужно знать перед изучением Solidity?

Ничего! Если вам нравится концепция и идея блокчейн разработки, если вы хотите создавать децентрализированные приложения и программировать смарт-контракты — начинайте обучение! Хватить искать отговорки и причины почему: «нет». Все, что нужно знать вы изучите в процессе!

Огромным плюсом будет опытное владение ПК, понимание Computer Science, любой опыт программирования (особенно JS). Если этого нет — не беда. Все с чего-то начинают. Solidity — молодой и достаточно простой язык программирования, а для начала его изучения даже не нужно устанавливать ничего на компьютер!

Что вам так или иначе придется изучить в процессе это основы WEB разработки. Устройство децентрализированных приложений подразумевает под собой подключение смарт-контракта к чему-либо. Это может быть бэкенд, приложение на телефоне, игра или страница в интернете(сайт).

Чаще всего это обычные сайты! Поэтому будьте готовы, что изучения Solidity так или иначе потребует от вас разобраться в HTML, CSS, JAVASCRIPT.

Вам не нужно становиться фронт-енд разработчиком, но концептуально вы должны понимать как работает фронт-енд и как он взаимодействует с блокчейн частью посредством JS фреймворков. Вам нужно уметь отредактировать готовый сайт и подключить туда необходимые скрипты. Будет круто если вы можете сами с нуля что-то сверстать, а ещё лучше если вы освоите основы React’a. Это кратно увеличит ваши шансы на трудоустройство. Но даже без фронта вы можете найти работу в Web3!

Что дальше? ТРУДОУСТРОЙСТВО

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

Попасть на работу Junior Solidity Developer — не трудно

Вот основные пунткы, которые вам в этом помогут:

  1. Хорошо подготовьтесь к собеседованию, обычно вопросы на них достаточно типичные. Лучше изучите сферу в которой работает компания.
  2. Создайте LinkedIn, сделайте качественное CV и начинайте поиск!
  3. Большим плюсом будет наличие GitHub, пет-проектов и минимального опыта на фрилансе.
  4. Всегда читайте требования на вакансию и если вы чего-то не знаете вкратце ознакомтесь с инструментом\технологией. Это увеличит ваши шансы не провалить интервью.
  5. Будьте настойчивы и не здавайтесь. Записывайте свои интервью, анализируйте их и подятгивайте слабые моменты, чтобы в следующий раз не облажаться.
  6. Не бойтесь повторно подавать заявки. Например если вам дали отказ и через пол года вы значительно улучшилии свои скиллы — попробуйте пройти ещё раз.

Что если ETH\крипта умрет? Программистов заменит ChatGPT?

1. Не умрет. А если умрет — то блокчейн как технология с нами очень на долго. 2. Solidity позволяет разрабатывать смарт-контракты под множество блокчейнов 3. Подходы в разработке смарт-контрактов очень похожи, зная Solidity вы легко сможете переквалифицироваться и начать работать с другими блокчейнами. 3. Знание программирования никогда не оставят вас без денег 4. Последними кого заменит ИИ — будут блокчейн разработчики

Вывод

Изучение чего-либо нового это всегда долгий и тернистый путь. Но он того стоит! Инвестировав свое время в изучение Ethereum и Solidity уже сейчас, через год вы рискуете стать востребованным на рынке специалистом и навсегда решить свои финансовые проблемы.

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

Как стать блокчейн-разработчиком, с чего начать новичку

Блокчейн-разработчики у хедхантеров нарасхват. Как же влиться в эту новую индустрию?

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

Билл Гейтс сказал, что блокчейн изменит правила игры уже в ближайшее десятилетие. Инновационной (и даже революционной) эту технологию делает именно её универсальность. Блокчейн можно применить практически в любой индустрии, которая поддерживается логической схемой и технически структурированной сетью.

Если говорить о потенциале блокчейна, то мы пока не полностью увидели даже верхушку айсберга. Повсеместное увлечение криптовалютой привлекло в сферу множество талантливых специалистов, в то время как публичным блокчейнам вроде Steem и Verge и их приватным братьям, например Hyperledger, постоянно требуются новые умы для решения технологических задач.

Зачем же становиться блокчейн\-разработчиком?

Наш мир меняется со скоростью, сравнимой лишь с временами промышленной революции (и это сравнение не в пользу последней). В XIX веке сторонники ручного труда проиграли конкурентам, которые не побоялись взять технику на вооружение. Вскоре конвейеры стали нормой, автоматизировав производство, которым люди занимались вручную на протяжении тысяч лет.

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

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

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

Помимо перечисленных выше преимуществ есть и другие.

Технология блокчейн находит применение практически во всех сферах деятельности. Блокчейн-разработчика можно условно сравнить с разработчиком веб-сайтов. Любая организация — образовательная, финансовая, снабженческая, развлекательная, СМИ — нуждается в собственном сайте, но их внутренние специалисты часто не имеют необходимого опыта для реализации собственных задумок. Ситуация с внедрением блокчейна очень похожа. Приложения этой технологии могут принести дивиденды практически любой индустрии, и в какой-то момент любой компании потребуется специалист или группа специалистов, чтобы помочь внедрить технологию.

На LinkedIn и UpWork за последние годы колоссально повысился спрос на вакансии, так или иначе связанные с криптовалютами. Такую работу сейчас ищут более чем в десять раз чаще, чем в 2014 году. По данным Computer World, средняя зарплата блокчейн-разработчика в Кремниевой долине составляет $158 000 в год.

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

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

Концентрируясь на криптовалютах, мы игнорируем львиную долю потенциала технологии.

Чем может заниматься блокчейн\-разработчик?

Есть несколько путей развития для блокчейн-разработчика.

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

Мы уже упоминали, что существует множество возможностей работать как в публичных блокчейнах, так и в приватных. Первые могут показаться более знакомыми: именно с ними связаны ICO и публичные сервисы.

STEEM, ICON и эфириум — это примеры публичных блокчейнов. Приватные блокчейны создаются под нужды определённых компаний. Например, Barclays хочет обеспечить себя собственным блокчейном и занимается рядом исследований в этой сфере. Специалисты компании много экспериментируют, стремясь выяснить, что будет полезнее всего для конечного потребителя.

Какие навыки пригодятся?

Очевидно, этот рынок требует специальных навыков. Блокчейн — это чистое программирование, и различные блокчейны и монеты построены на различных языках. Биткоин работает на C++, а эфириум — и на C++, и на Python. Некоторые блокчейны стараются помочь своему распространению, задействуя несколько языков программирования (например, Dragonchain поддерживает Java, Python, NodeJS и C#). У вас довольно широкий выбор в плане языка, но навык в любом случае должен быть на высоком уровне.

Вам также понадобятся навыки веб-разработчика. Они включают в себя знание HTML, CSS, NodeJS и MongoDB. Придётся заниматься и бэк-эндом. Навыки нетворкинга и систем безопасности также будут полезны, ведь блокчейн-разработчики часто вынуждены общаться с представителями этих отделов.

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

Тем, кто хочет что-нибудь почитать на эту тему, стоит обратиться к книге Mastering Bitcoin, написанной Андреасом Антонопулусом. Эта полезнейшая книга в электронном виде распространяется бесплатно.

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

Как получить работу?

Для начала вы должны быть уверены в том, что освоили базовый набор навыков. Вне зависимости от требований к разработчику база должна быть у каждого.

Далее перед вами открываются два основных пути: в качестве разработчика или в качестве консультанта. В этой статье мы фокусируемся на первом варианте.

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

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

Платформы онлайн-найма отмечают заметное повышение спроса и предложения работы, связанной с криптовалютами. На LinkedIn и UpWork появляется всё больше резюме блокчейн-разработчиков. Почему бы вам не добавить и своё? В поисках вакансий можно зайти на AngelList или Blocktribe, где размещено множество запросов к блокчейн-разработчикам. Помимо этого, на данный момент Ripple ищет специалистов.

Благодаря сплочённости сообщества разработчиков вы можете получить опыт работы в качестве волонтёра. Многие проекты счастливы лишней паре рук, если к ним прилагается должный уровень навыков. Почитайте об интересующих проектах на Reddit, в Telegram, Slack и Discord, отправьте твиты членам команды. И, конечно же, не забудьте заглянуть на их сайты: многие вывешивают вакансии именно там.

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

Заключение

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

Однако фундаментальными инструментами для создания блокчейна и программного обеспечения на его основе сегодня владеет большинство программистов. Источники навыков и знаний доступны в интернете в формате видеоматериалов и сжатых текстовых руководств. Ничто не останавливает вас от того, чтобы стать блокчейн-разработчиком. Если сфера вас действительно манит — дерзайте и верьте в себя!

Сопоставьте свой карьерный путь с тем, чтобы стать разработчиком блокчейна

Технология блокчейн впервые стала широко известна благодаря успеху биткойнов. Криптовалюта с высокой стоимостью породила множество подобных блокчейнов, в первую очередь MetaMask.

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

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

Вот обзор знаний, навыков и процессов, необходимых для построения карьеры в сфере разработки блокчейнов.

Типы разработчиков

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

A Core Blockchain Developer отвечает за создание основы блокчейна, включая архитектуру и протоколы безопасности. Например, им необходимо внедрить протоколы, относящиеся к децентрализации сетевых данных и компоновке, отслеживать системные процессы блокчейна и создавать механизмы консенсуса, такие как Proof-of-Work или Proof-of-Elapsed-Time.

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

Необходимая база знаний по технологии блокчейн

Начинающим разработчикам блокчейна нужны определенные знания о технологии блокчейна, чтобы добиться успеха. Им нужно знать о конкретных платформах и инструментах, таких как Hyperledger, Chaincode (смарт-контракты), виртуальные машины и языки программирования, такие как Solidity.

Hyperledger

Hyperledger — это совместный проект более чем 183 участников по созданию структуры блокчейна и кодовой базы.

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

В настоящее время на Hyperledger работает много проектов. К ним относятся Fabric, Composer, Burrow, Sawtooth и Explorer.

Fabric — это платформа для разработчиков, позволяющая создавать блокчейн-приложения и бизнес-решения. Это будет включать инструменты для внедрения блокчейна в системы управления цепочками поставок и ведения учета.

Кроме того, Composer — это набор инструментов, которые разработчики могут использовать для создания, тестирования и запуска нового блокчейна.

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

Кроме того, существует Sawtooth, использующий алгоритм консенсуса Proof-of-Elapsed-Time. Это отличается от протоколов консенсуса Proof-of-Work и Proof-of-Stake. Этот алгоритм использует случайный обратный отсчет, чтобы определить, кому принадлежит блок в блокчейне.

Цепной код

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

Более того, смарт-контракты должны соответствовать определенным свойствам блокчейна, чтобы обеспечить безопасность и поддерживать целостность блокчейна.

Первое свойство является детерминированным. Смарт-контракт должен быть согласован во всех узлах сети блокчейн. Вот почему программа должна быть детерминированной. Это означает, что один вход в программу дает один и тот же результат. Например, 1+6 = 7 по сети.

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

К ним относятся заранее определенный таймер, который устанавливает дату, когда смарт-контракт прекращает работу, или шаг и счетчик вознаграждения, который подсчитывает количество шагов в контракте и прекращает работу, когда все шаги завершены.

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

основательность

Solidity — это язык программирования. Разработчики Ethereum создали его для создания и реализации смарт-контрактов на блокчейне Ethereum.

Он разработан на основе JavaScript, поэтому разработчики программного обеспечения, знакомые с Java, могут быстро адаптироваться к Solidity.

Разработчики разрабатывают смарт-контракты, используя Solidity на виртуальной машине Ethereum. Разработчики могут использовать Solidity на блокчейнах Ethereum, Tendermint и Ethereum Classic.

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

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

Навыки, необходимые для разработки блокчейна

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

Затем им нужно знать, как разрабатывать смарт-контракты с использованием сетевых языков, таких как Chaincode и Solidity.

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

Кроме того, им нужен опыт веб-разработки и кодирования. Они должны знать, как работать с интерфейсом и сервером, например, разрабатывать графические пользовательские интерфейсы для dAPP и работать с API.

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

Процесс разработки блокчейна

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

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

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

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

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

Например, смарт-контракт должен быть детерминированным (две стороны соответствуют критериям, а затем контракт выполняется). В то же время другие функции, такие как транзакции, не должны быть детерминированными.

Карьерные возможности в качестве разработчика блокчейна

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

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

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

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

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

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

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

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

Заключение

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

Они могут стать либо Core, либо Software Blockchain Developer. Один требует создания основы блокчейна, другой — внешнего и внутреннего интерфейса.

Им также необходимо разностороннее знание языков программирования, таких как C++, Chaincode и Solidity.

Наконец, есть много возможностей для карьерного роста для тех, кто ищет работу в индустрии блокчейнов.

Кто такой блокчейн-разработчик и как им стать

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

Иллюстрация: Colowgee для Skillbox Media

Константин Зотов

Давид Григорян

CTO и сооснователь французской компании Dfns, инвестор и советник в банках. Восемь лет опыта разработки в финтехе, среди прочего в Deutsche Bank.

Работал в Сан-Франциско, Стокгольме, Лондоне, Франкфурте, Куала-Лумпуре, а сейчас — в Париже. За свою жизнь основал четыре компании, одну из которых продал Ubisoft.

Чем занимаются блокчейн-разработчики

— Давид, чем занимаются блокчейн-разработчики и какие направления есть в этой сфере?

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

То есть разработчики создают децентрализованные сети — обычно на С, С++, Go или Rust. Это относительно низкоуровневые языки, поэтому там участвует много людей с опытом работы над обычными email-серверами или телекомом.

Ещё одно направление — умные контракты, smart contracts. Чтобы этим заниматься, нужно понимать, как работает блокчейн, и разбираться в финансах: у человечества тысячелетний опыт работы с облигациями, акциями и различными инструментами, и сейчас мы их перепридумываем на блокчейне.

— Ты сказал, что каждый месяц выходит новый блокчейн. Что там ещё можно изобретать и в чём между ними разница?

— Бывает всякое. Например, Билли Маркус из IBM и Джексон Палмер придумали Dogecoin просто по приколу, но люди не поняли шутки и решили вложиться серьёзно.

Опять же — ты, наверное, слышал о форках, когда один блокчейн разветвляется на несколько. Это случается, если нет консенсуса и какая-то группа майнеров говорит: «Мы с вами не согласны, поэтому уходим».

Есть так называемое confirmation time — время подтверждения: я отправил тебе деньги, но мы ждем ещё десять блоков, чтобы никто никуда не ушёл. После подтверждения мы знаем, что у тебя точно есть деньги, не было форка.

Надо понимать, что децентрализованные системы — это колоссальная бюрократия. Они даже медленнее государств. Чтобы их создать, нужно согласие огромного количества людей, у которых совершенно разные интересы. Иногда люди устают ждать и спорить, поэтому говорят: «Fuck it. Я сделаю собственный коин, с блэкджеком и куртизанками».

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

Stellar сделали, потому что у создателей есть концепт Oracles — внешнего финансового института, который может публиковать свои продукты на блокчейне. То есть ты можешь поставить его в custody и сказать: «У меня есть 10 тысяч акций Amazon и Apple, я хочу легко их вам пихнуть». Причём Stellar очень быстрый: мы делали свой совместимый со Stellar форк, выкинули всё лишнее и добились скорости в районе полутора миллионов транзакций в секунду.

Ещё сейчас в большой моде ESG, потому что многие начали думать об экономии электричества. В последнее время появляется много идей в этой сфере.

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

Как разрабатывают блокчейны

— Кто имеет право контрибьютить в биткоин? Как принимаются окончательные решения об изменении технологии?

— Когда ты подсоединяешься к блокчейну, это означает, что у тебя есть какое-то приложение, которое умеет делать три вещи: майнить валюту, совершать и валидировать транзакции. Допустим, ты придумал новую идею и закоммитил код. Кому-то твоя идея понравилась, и он откомпилировал майнер-версию 1.1. Но тебе нужно, чтобы остальные майнеры согласились работать именно с твоей версией. То есть коммитить код недостаточно: требуется консенсус в остальных приложениях, чтобы все сказали: «да, мы хотим работать с этим».

Отправлять транзакции легко: это всего лишь текст. Проблема в том, как эту транзакцию потом будут записывать в кошелёк, как — майнить следующий блок и как ты будешь получать деньги за майнинг блоков с транзакциями других людей. Сейчас, например, идут дебаты насчёт Ethereum 2.0, в котором меняют логику майнинга с proof of work на proof of stake . Закоммитить код недостаточно — нужно, чтобы большинство майнеров, которые инвестировали деньги в видеокарты, согласились с изменениями.

— А какие языки программирования используются в блокчейне? Какие-то предметно-ориентированные или общего назначения?

— Если ты работаешь с Ethereum Virtual Machine — это в основном Solidity, к сожалению. Вообще, у меня есть теория о мазохизме программистов. Когда-то мы выбрали JavaScript, чтобы с ним мучиться. В 1970-е были нормальные языки программирования, но для работы на Linux выбрали Bash. То же самое и с Solidity — это достаточно хреновый язык, чтобы программисты продолжали его использовать.

Я бы посоветовал учить Wasm — по сути, это тот же Rust. Его поддерживают всё больше блокчейнов — например, PolkaDot и Cosmos.

Опять же, Ethereum — конечно, крупнейший блокчейн, но есть и другие. Например, Tezos, в который я по ошибке вложил слишком много денег. На нём писали контракты на С++. А в Stellar придумали собственный язык, который позволяет достаточно легко создавать смарт-контракты.

— В блокчейн-разработке используют какие-нибудь проприетарные решения?

— Да, не так много, но их используют. В первую очередь это R3 Corda и Hyperledger. Если говорить о фреймворках, есть Trufflesuite от ConsenSys. Это фреймворк для теста твоих контрактов. У них есть тулзы, которые позволяют тестировать и разрабатывать контракты вне блокчейна, потому что у блокчейна своя скорость. Не всегда хочется ждать две минуты, пока опубликуешь свой контракт, и это стоит денег: даже для теста нужны виртуальные деньги, их тоже нужно как-то майнить.

Например, на Rinkeby нужно затвиттить свой адрес, поставить ссылку на твит, и тебе дадут 18 виртуальных Ethereum. Но иногда заканчиваются даже виртуальные Ethereum, а тебе нужно публиковать контракт.

Как стать блокчейн-разработчиком

— Какие навыки требуются программисту, который хочет войти в блокчейн-разработку?

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

Нужно понимать, что, если мы делаем банковское приложение, в худшем случае мы можем сказать: «Ой, у нас дыра в безопасности, выключаем все серверы». С блокчейнами такой номер не пройдёт. Так что всегда полезно иметь в штате человека, который понимает, как делать infosec audit своего кода или своей команды. Например, в прошлом месяце кто-то потерял 120 миллионов из-за ошибки в контракте, и такое происходит сплошь и рядом.

Помимо этого, нелишним будет представление, как всё тестировать и как вообще работает RESTful-интерфейс. Любая операция чего-то кому-то стоит, даже если это просто вознаграждение майнерам. Поэтому от людей требуется намного больше ответственности. Я вижу небольшой откат к 1990-м, когда программисты были ещё и немного аналитиками. Это потом начали распределять: «У нас будет аналитик, будет бизнес-аналитик, ты делаешь только бэкенд, ты делаешь только фронтенд».

Но в целом всё несложно. Большинство смарт-контрактов и DeFi намного легче, чем любой фронтенд-сайт с какой-нибудь анимацией.

Я бы ещё, наверное, посоветовал чуть-чуть подучиться финансам, понять, как они работают. Хотя, конечно, это то ещё удовольствие. Есть книжки от Financial Times, которые даже в руки брать страшно. Но что делать.

Хотя можно создавать приложения в интернете, которые подсоединяются к блокчейну. Надо просто понимать, как он работает, познакомиться с теорией. Можно пойти, например, на SushiSwap: у них есть какой-то бэкенд, можно сделать что-нибудь для аналитики. У тебя есть приложение-кошелёк MetaMask, которое встраивается в браузер Chrome, ты приходишь на SushiSwap, коннектишься, и всё работает.

Отдельная тема — NFT. Это те же коины, которые присоединяются к каким-то off-chain assets. Я вижу интересные вещи в играх. Можно купить у Ubisoft NFT на оружие в играх: в Call of Duty — на автомат, в Warcraft — на супермеч и так далее.

Но ещё хочу предупредить: в 1960-е было такое понятие, как database company. То есть когда базы данных были новыми, некоторые компании говорили: «Мы поставили себе базу данных, теперь мы database company». Нечто подобное теперь с блокчейном: «О, мы запихнули где-то блокчейн, поэтому мы — blockchain company» 🙂

— На взгляд тебя как СТО, станут ли в будущем востребованы разработчики, специализирующиеся именно на блокчейнах?

— Думаю, да. Скорее всего, сфера вырастет раз в пять в следующие несколько лет. Между 2017-м и 2020-м был период Crypto Winter, когда всё упало. Мы его пережили. Если посмотреть на валовой продукт блокчейна Европы и Америки, ты можно увидеть, что мы ещё много можем съесть. В коммерческом секторе развитие будет колоссальным.

С чего начать изучение блокчейн-разработки

— Какие книги или видеокурсы ты бы посоветовал тем, кто хочет познакомиться с темой блокчейна и криптовалют?

— Я сделаю рекламу своему другу Роберту Эллису. Он написал книжку, которая называется Blockchain Maturity. Там рост блокчейна сравнивается с ростом интернета и на основании этого делаются прогнозы. Эта книжка 2017 года, вроде бы: можно посмотреть, где Роберт оказался неправ, будет интересно.

Есть ресурс Crypto Zombies, сделанный по образцу CryptoKitties. Был в 2017-м такой публичный NFT, когда ты мог купить котёнка, потом скрестить его с другим и получить новых котят. А здесь ты сам делаешь зомби, потом скрещиваешь их с котятами, и у тебя получается зомби-версия котят. Онлайн-туториал там прикольный, называется Crypto Zombies Loom Network.

Можно посмотреть, чем занимается ConsenSys. У A16z есть крипторесурсы. Её создатели Andreessen Horowitz — одна из самых известных американских инвестиционных компаний. Это чуваки, которые сделали Netscape и первый cloud.

Есть хороший подкаст Blockchain Insiders. Он выходит раз в две-три недели, в нём говорят о применении блокчейна в разных индустриях. Это может быть интересно, особенно если человек ищет работу. Ещё беседуют с технарями, которые рассказывают о конкретных имплементациях контрактов или блокчейнов. И у этих же авторов есть подкаст Fintech Insider — для тех, кому интересен финтех.

По технической части у ConsenSys есть куча библиотек и для теста, и для разработки смарт-контрактов Ethereum. Но я бы советовал не затачиваться только на блокчейн, а посмотреть, как он работает со всем остальным. Потому что на самом деле блокчейн — очень абстрактная вещь, как и вообще фондовый рынок. Поди пойми, что там происходит. На это люди жалуются со времён «тюльпаномании» в Амстердаме. Ничто не ново, этого не нужно стыдиться.

Читайте также:

Proof of work (доказательство работы) — принцип защиты сетевых систем от злоупотребления услугами. Основан на том, что клиенту необходимо выполнить на своей стороне довольно длительную работу, результат которой быстро проверяется сервером.

Proof of stake (доказательство доли владения) — принцип защиты транзакций в блокчейне, согласно которому вероятность формирования блока пропорциональна доле средств (криптовалюты), которыми владеет участник.

Профессия Data Scientist

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *