solidityのプログラミングを始めるためには、以下の本がお勧めです。
前半でブロックチェーンに関する説明があり、後半でSolidityのプログラミングを、geth, Remix, Truffleを用いて、かなりわかりやすく解説されています。