Лучше да, линукс. Если у вас windows просто поставьте ubuntu server на виртуалку.
Официальная документация очень хорошая, прочитайте полностью.
Как можно из solidity(смартконтракта узнать текущую дату и время)?
now
Как можно использовать ГСЧ? (если в solidity есть такая возможность)
Некритичные вещи можно сделать с помощью песевдослучайных чисел на основе информации из блока, критичные не сделать никак, т.к. майнеры до момента заключения в транзакцию уже знают сгенерированное число и могут не включить эту транзакцию в блок, если это число их не устраивает (т.е. если у вас казино, они просто не будут включать в блок свои проигрышные ставки)
Есть ли какая IDE поддерживающая solidity или может плагин под Eclipse есть?
онлайн редактор, можно запусать и дебажить
https://ethereum.github.io/browser-solidity/Плагин для атома (сам не смотрел)
https://atom.io/packages/language-ethereumНу вобщем с чего посоветуете начать изучение solidity?
Чтобы не городить велосипеды, посмотрите эти видюшки, в них описаны лучшие практики
https://m.youtube.com/playlist?list=PLoQp1VPBv3SmVjFlXR7EIPFTri6yjrvtE