Для начало необходимо иметь первичное понимание основ программирования знать хотя бы один язык, лучшим из языков программирования, максимально приближенным к Soilidity будет JavaScript.
Почему?
Потому что на голом Solidity вы сможете писать и преобразовывать в смарт контракт эфириум, но работать со смарт контрактом вы сможете только в специальном интерфейсе, на данный момент самым популярным является MIST (
https://github.com/ethereum/mist/releases) .
MIST по своей сути это веб-браузер (такой же как хром и опера), только работающий с нодой(блокчейном) эфириума.
Необходимо понимание устройства сети эфириума и понимание процесса работы!
Далее Вам необходимо освоить минимально, веб среду (компилятор) разработанный специально для разработки смарт контрактов.
https://remix.ethereum.org/ Преимущественно вся работа по программированию кода идет в разделе Run, остальные разделы необходимы в основном для тестирования.
Далее мы берем и просто гуглим уроки по Solidity разработки, чтобы Вам не пришлось гуглить я ниже приведу самые лучшие материалы на русском и маленько англ:
Руководство на русском, не полностью переведено, но для начало самое то:
github.comБолее полное руководство английский:
http://solidity.readthedocs.io/en/develop/contracts.htmlСтатистика сети, нужна для деплоя(загрузки) контракта:
https://ethstats.net/Очень хороший сайт с примерами и на русском, расписано подробно начина я от создания токена до реализации баунти компании:
http://inaword.ru/smart-kontrakty/Подборка действительно полезных статей с хабра с примерами от разных авторов (есть чему поучится):
https://habrahabr.ru/post/312008/https://habrahabr.ru/post/328246/https://habrahabr.ru/post/327236/https://habrahabr.ru/post/336132/https://habrahabr.ru/post/336770/Кто готов пойти дальше и сидеть переводя коментарии и имея знания английского можете поискать на академии курсы, платные но качественные в ру сегменте такого нету пример:
https://www.udemy.com/ethereum/