Highload fwdays — спікери зі Stackoverflow, Netflix, Google, AWS, Rovio | Київ, 5 жовтня
×Закрыть

Как, где и зачем учить Solidity?

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

Background

Интересоваться программированием я начала еще в школе. В 16 поступила на факультет информатики — надеялась, что там меня чему-то научат. Вскоре мои надежды развеялись, я начала прогуливать пары и по чуть-чуть писать код сама. Попробовала работать java developer в одном стартапе — не зашло. До этого я никогда не набиралась смелости называть себя программистом или разработчиком — воспринимала это как хобби, мне просто нравился процесс. В последние два года, забросив код, посвятила себя популяризации науки в проекте 15×4 — серии бесплатных лекций на разные актуальные околонаучные темы. А потом несколько моих коллег выучили Solidity и пошли работать в Ambisafe Software. Их пример вдохновил меня — я вдруг поняла, что возможно за месяц выучить язык программирования, который поможет мне работать в проектах в быстроразвивающейся индустрии, которая уже в корне меняет мировую экономику, а вскоре изменит и весь мир. Я тоже решила попробовать.

Что такое Solidity и зачем он нужен

Solidity — это язык для написания смарт-контрактов, с помощью которых люди могут проводить ICO, открытые голосования, аукционы, продавать разные ценности, выпускать свою валюту и, как оказалось, даже создавать и продавать котиков.

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

Как выучить Solidity

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

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

Нюансы и сложности изучения Solidity

Для начала работы с Solidity необходимо понимать основы javascript, а лучше — иметь опыт разработки, так как синтаксисы этих языков очень похожи. В любом случае, javascript придется выучить, ведь он все равно понадобится для unit тестирования. Также, нужно знать, что такое объектно-ориентированное программирование, уметь продумывать архитектуру своей программы.

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

Главная загвоздка Solidity в его подводных камнях. Изучить синтаксис уже давно ни для кого не проблема, но изучить изъяны языка, чтобы уметь их обойти — вот что сейчас важно. При написании смарт-контрактов приходится постоянно думать, какую функцию будет дешевле использовать. А если в архитектуру кода заберется одна маленькая ошибка, то это может привести к потере нескольких десятков миллионов долларов. Вот это действительно экстремальное программирование, а SCRUM и парное программирование — это очень даже безопасно, да простит меня Кент Бек.

Ambisafe Solidity School

О школе я узнала от своих друзей. Я очень хотела поучиться у Леши Матиясевича, известного white hat hacker’а, который совсем недавно во время хакерской атаки спас $31,000,000 от злоумышленников. Учиться у Леши — это получать актуальную информацию о реальных уязвимостях контрактов и постоянно придумывать как их обойти.

Курс проходил онлайн и длился 5 недель. Каждую неделю Леша проводил вебинар и давал задания. Выполнив задание, мы заливали код на GitHub, а Леша делал ревью, указывая нам на уязвимости в безопасности. Во время курса мы создали Telegram-канал, где можно было задавать вопросы Леше и помогать друг другу. Курс закончился, а чат остался, в него продолжают приходить люди, и мы вместе продолжаем разбираться в языке.

Как Solidity меняет мир

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

Мне кажется несправедливым, что традиционное привлечение инвестиций — такая дорогая процедура. Для выпуска акций нужно около $500000 долларов, а для проведения ICO — $10000 и еще столько же на маркетинг. Эту сумму два программиста могут накопить за год и открыть свой проект. Надеюсь, что в перспективе это значительно увеличит количество качественных продуктов в мире, ведь даже если хотя бы 20% этих проектов взлетят, это будет гораздо круче, чем ноль. Мне нравится, что смарт-контракты, которые я пишу непосредственно влияют на развитие этого процесса.

Работа в Ambisafe Software

Мой интерес к Solidity также связан с желанием работать в Ambisafe Software, ведь идеи компании резонируют с моим мировоззрением. Ребята уже меняет мировую экономику, а мне с детства хочется участвовать в чем-то глобальном и значимом. Я хочу жить в мире, где люди могут открыть свой бизнес без взяток, бюрократии и кумовства. И сейчас Ambisafe Software приближает мир к этому идеалу. Мне хочется, чтобы это все продолжало существовать.

Сейчас я помогаю писать контракты для проекта, который занимается продажей недвижимости через блокчейн. В Ambisafe Software собраны гениальные умы и я думаю, что на самом деле не так важно, над каким проектом ты работаешь, а важно с кем именно ты работаешь: с такими людьми мы любой проект сделаем выдающимся.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Смарт-контракты пишут на Solidity

ТС, а вы в курсе об EOS? =)
А вообще ТС очень похож на бота. Вы..рал и пропал.

Думал узнаю что-то интресное о Solidity, а тут часть истории из жизни, что хорошо бы знать еще js, и ссылки на курсы.

Главная загвоздка Solidity в его подводных камнях.

можно было хоть пару «камней» показать, так бы казалось рекламой и историей о себе.

можно было хоть пару «камней» показать, так бы не казалось рекламой и историей о себе.

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

А знаєте яка є ще краща заміна? Кусок коду написаний на будь-якій мові програмування, під любу платформу з любими бібліотеками, централізованно запущений в клаудах :)

До чого я, платформу для смарт контрактів можна зробити і без блокчейнів стандартними засобами і технологіями — буде легше, швидше і дешевше. Було б бажання. Тут більше проблема в людях і бюрократії, ніж у відсутності технологій. Якщо для глобальної валюти, де треба максимальна безпека і гарантія незмінності данних блокчейн має смисл, то для інших задач він створює більше проблем ніж вирішує.

Народ, очень стрёмный вопрос, но всё же. Реально ли научится писать на Solidity без знаний JS и знаний в программировании вообще? На данный момент работаю в IT компании но минус в том что роста нет да и надоедает одно и то же... Заранее спасибо...

Очень симпотичный язык. Он простой и дает возможность описать процедуры смарт контракта. Если а смарты медленно — но продвигаются по миру. Очень их не любят всякие чиновники — потому что украсть — не получается :-) Так что учить на перспективу — более чем можно.

про те, що для проведення ІСО достатньо 20к баксів — ну прям улибнуло

$31,000,000
$500000
$10000

big babki, sirius biznes

Очень незаметная реклама. Прям совсем.

Так, это битки майнить? Ну и реклама пошла на доу

ладно, стыдно оставлять вашу тему пустой.
никто не комментит тут потому что:
— неясно, это пиар компании или курсов, народ не может решить что начать критиковать из-за этого)
— нишевый новый несформированный язык... хорошая стратегия что бы устроится куда-то джуном на этом языке без опыта и с месячным ознакомлением и без предыдушего опыта программинга, просто по причине того и брать то не кого на рынке... Да и то для девов это скорее не язык программирования а новый способ описания конрактов, что не оч то и захватывает...
— В IPO есть очень много защитных механизмов, в ICO их нет, что мы и видим по огромному наплыву ICO которые мало чем друг от друга отличаются и не могут определить чем же их моджо лучше чем у других

никто не комментит тут потому что

это очередной маркетинговый буллщит
кстати, единственная вакансия на этом недоязыке jobs.dou.ua/...​s/hacken/vacancies/53365
от конторы в которой комьюнити директор небезызвестный Кныш

Еще в тексте вакансий встречается такое слово:
jobs.dou.ua/...​/?search=Solidity&descr=1

Хмм.. не скажи. Спрос на это гуано есть. Попробуй на джине указать в скилах солидити)))

Да и то для девов это скорее не язык программирования а новый способ описания конрактов

я понял какое чувство меня не покидало относительно этого языка — 1С же! Только для блокчейна =)

Подписаться на комментарии