Solidityの勉強で挫折しない 〜初心者向けの勉強法〜

solidity-development-beginner

どうも、イーサリアムnavi運営のでりおてんちょーです。

イーサリアムnaviでは、毎日大量に流れてくるクリプトニュースを調査し、その中でも面白いトピックやクリプトネイティブな題材を選び出し、それを分かりやすく読みやすい形でお伝えしています。パラパラと内容を眺めているだけでも、事業やリサーチの新たなヒントに繋がることがあります。世界の最先端では、どのようなクリプトコアな試みが行われているのかを認識するだけでも、 思わず狭くなりがちな視野を広げてくれるでしょう。

突然ですが筆者はいま、SolidityというEthereum開発言語の勉強をしていて、本格的に書籍を買って勉強し始めてから2ヶ月目の段階です。

本を買うまでは、YouTubeでSolidityの初心者向け動画をみながら勉強していましたが、なかなか難しく挫折しかけたので本を買った次第です。

ちなみにフロントエンドはReactを使おうと思い、こちらは本とYouTubeを使って勉強している段階です。

今では、ある程度Solidityの基礎は理解できるようになり楽しくなってきたのですが、ここまでの道のりはとても長く、何度も挫折しそうになりました。。

derio

無駄なことしてしまったな…

と、過去を悔やむ期間もありました。

皆さんには、筆者のように勉強の順番を間違えてメンタルブレイクしてほしくないと、強く思っています。

ということで、この記事では筆者の経験をもとに、これからSolidityの勉強を始めたいと思っている方が挫折せず、そして楽しくSolidityを学べる方法を紹介しています。

この記事では、以下の構成で書き進めていきます。

STEP
筆者のSolidity挫折ポイント

実際に無知の状態からSolidityを勉強してみて、挫折しそうになったポイントとそれに対する対処法を述べていきます。

STEP
Solidity勉強のロードマップ

一通りSolidityの勉強をやってみて、個人的にもっとも効率よく挫折しない勉強方法について解説します。

STEP
参考になる本やYoutubeを紹介

Solidityに関するさまざまな書籍や動画がありますが、個人的にオススメなものを厳選してご紹介します。

STEP
どうしても解決できなかった時は?

最後に、勉強を進めていく上でどうしても解決できない問題が出てきたとき、どうすれば良いかについて紹介します。

※この記事は、Solidityを勉強し始めて2ヶ月目の段階で書かれた記事です。
現時点では5ヶ月ほど経過したため、当時と違う考えなどリライトしたい部分について、緑マーカーを添えて追記しています。

2022年1月20日追記:
現在のSolidity開発のトレンドは、TruffleではなくHardhatを使用したものへと変わってきています。
合わせてこちらの記事もご参考いただけると幸いです。

※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。

「定期購読プラン」の詳細はこちら

「定期購読プラン」は現在トライアル期間中のため、初月は30日間無料でプランに登録することができます。この機会にぜひお試しいただけると幸いです。

※ 1ヶ月間の無料トライアル期間終了後に、自動的に有料プランへと移行します。
※ 無料トライアル期間中にご解約いただければ、ご利用料金は発生いたしません。

法人プランでは、「ライトプラン」「ベーシックプラン」「プレミアムプラン」の3種類を提供しております。

  • 社内勉強用
  • 企業ニーズに合わせた情報収集
  • スポットコンサルとしての活用

など、各事業者様ごとに特化した「定期購読プラン」+α のパッケージプランとして、幅広い用途でご活用頂いています。


目次

筆者のSolidity挫折ポイント

筆者が Solidityを勉強し始めた頃に挫折したのは、主に以下の点です。

  • Node.js, Truffle, Ganacheなどの環境構築
  • フロントエンド意味不明()
  • 調べても解決しないエラーが次々でてくる
derio

ざっくりこんな感じですが、おかげさまで前髪が5mmほど後退した気がします。

筆者の勉強法で何が悪かったのか、その”原因”は、簡単なこと(基礎)から順序立てて勉強しなかったことです。

  • いきなり外人さんのYoutubeを見て勉強してみたり
  • 古い情報のサイトだと気づかず参考にしてエラー地獄にハマったり
  • Javascriptすら理解していないのにcryptozombiesのフロントエンドでつまづいたり

そんなことを繰り返していました。

これでは挫折しかけてしまうのも当然ですし、勉強方法からしっかり計画を立ててやるべきだったと反省しています。

なので、ここからは2ヶ月ほど前の、前髪が5mm後退する前の自分に向けて、「こうやって勉強したほうが良いよ〜」という勉強ロードマップを示していきます。

  • これからSolidityの勉強を始めたい
  • 今勉強しているけど挫折気味だ

という方にとって、少しでも参考になれば幸いです。

Solidity勉強のロードマップ

結論からいうと、まずはcryptozombiesの基礎編をやりましょう!

cryptozombiesは「Progate」「ドットインストール」のSolidity版みたいなもので、チュートリアルごとに解説をしてもらいながら、環境構築などせず、いきなりコードを書きながら勉強することができる便利な学習サイトです。

最初はこのサイトを使って、

  • Solidityを使ってどんなことができるのか
  • 基礎の基礎である文法や構文

などについて、”ざっくり”学んでおきましょう。

cryptozombiesはバージョンがかなり古いため、あくまで「Solidityの雰囲気をつかむ」という目的のために利用します。

なんとなくSolidityの雰囲気がつかめたら、次は本を買って1から勉強しましょう!

理由としては、以下の通りです。

  • 環境構築から手解きしてくれる
  • 要所要所で細かい解説があって理解しやすい
  • 開発の順序を一通り体系的に学べる

本には、段階を踏んで完成したコードが載ってあったり、それをブラウザ上で確認して感動できるなど、Solidityを勉強し続けるモチベーションを保つ仕掛けがたくさん施されていて、初心者でも挫折しづらいです。

追記:
現在では、OREILLYのSolidity本は情報が古くなっている部分があったりします。
また、どうしても分からず途中で挫折してしまいそうなときは、後述するブロックアカデミーさんのYouTube動画を参考に進めてみてください!
『OREILLYに挫折→ブロックアカデミー→OREILLYに再挑戦』という方もDiscordで数名いらっしゃったので、効果的な進め方なのかなと思います。

derio

ここでひとつ、注意点があります。

それは、古い情報の本を買っても意味がないということです。

ネットの情報であれば都度アップデートなどされますが、本というの基本的に書いた時のままの状態ですよね。

そのため、1年も前の情報では今の環境とまったく違っている、サポートが終了している、なんてこともザラにあります。

これはネットの情報を調べる際も同じですが、“その内容がいつ書かれたものなのか”を確認する癖をつけておく必要があります。

本・動画・ネットの記事が、いつの情報なのか調べる習慣をつけよう!

参考になる本やYoutubeを紹介

ということでまずオススメな本は、OREILLYシリーズです。

こちらは執筆時点でも情報がまったく色褪せていなかったので、とても参考になった本です。

特にReactの方は、第2版が8/6に新しく発売されたばかりなので、新しい構文などもたくさん解説してくれています。

どちらの本も、概念や用語・文法・構文など基礎的なところから丁寧に解説してくれているため、筆者としては非常におすすめです。

追記:上の本を読んでいてつまづいた際に、非常に助かるブログ記事があるので紹介しておきます。

derio

もっと早く知りたかった。。

追記:Solidityの方の本では、細かい部分の説明がなかったりします。
そういった場合は、Solidityのドキュメントなどを活用して個別単位で調べていくと良いですよ。

本を読み終わったら(もしくは本でつまづいた箇所を調べるときに)、Youtubeを使って動画ベースで勉強してみるのがおすすめです。

Solidityの場合は日本語だとあまりチャンネルがないのですが、個人的にブロックアカデミーさんが分かりやすかったのでオススメです!

また、Reactの場合はたくさんチャンネルがありますが、

  • 比較的情報が新しい
  • わかりやすい

という2点から、【とらゼミ】トラハックのエンジニア学習講座さんがオススメです。

これらのフェーズを終えて一通り理解できたと思ったら、英語のYoutubeチャンネルを見たり、cryptozombiesの応用編をやってみると良いと思います。(※先述の通りcryptozombiesは情報がとても古いことには留意が必要)

そして、ある程度理解できた段階で、実際にコントラクトを書いてデプロイまでもっていけると良いですね。

2022年8月30日追記:
本記事執筆から一年が経過した時点では、初心者は「buildspace」、中級者は「solidity by example」「code 4rena」を読み漁ることがオススメだそうです。
需要があればリサーチして記事化しますが、興味がある方は試してみてください。

どうしても解決できなかった時は?

勉強していく上で、どうしても解決できない問題にぶち当たることもあるでしょう。

筆者自身も独学で勉強していく上で、

  • 調べても分からないことが多いな〜
  • 他の人と進捗報告しながらやりたいな〜
  • 効率よく進める方法を共有したいな〜

と思っていました。

そういった方は、ぜひDiscordコミュニティ「イーサリアムnavi」へ参加してみてください!

イーサリアムnaviのDiscordコミュニティには

  • solidityを勉強したい・既に勉強している
  • 開発に興味がある
  • NFTが好き・興味がある

といった方々がたくさん集まっています。

derio

せっかく勉強するならノウハウ共有した方が全員の効率が上がりますし、そういった場所があるだけでも、挫折しないで頑張り続けることができると思います。

Solidityに関して、過去に多くの方が質問したこと・その回答なども残っているので、情報の宝庫になりつつあるよ

ちなみに当然ながら、招待制ではなく誰でもwelcomeです。
この記事を読んで

Solidity面白そう!やってみたい!

と思っていただけた方は、ぜひ遊びにきてください。

まとめ

いまSolidityでつまづいている、挫折しかけている、これから勉強したいけど行動に移せない…

そんな方々にとって、何か一つでもお役に立てる部分があれば幸いです。

余談ですが、筆者は今年に入ってUnityも0から勉強してAppStoreリリースまでもっていきました。

そのときの経験で感じたのは、毎日少しずつでも良いから続けることが大切だということです。

特に「毎日少しずつでも」というのが大切で、勉強し始めの頃なんて覚えても忘れることが当たり前なので、毎日Sollidityのことを考える時間を意図的に作ってやることが大切だと思っています。

何事も覚えたてのときは、すぐに忘れてしまうのが当たり前!

偉そうなことを言っていますが、筆者自身もまだまだ勉強中の身です。

derio

毎日少しずつでも、手と頭を動かし続けるので、皆さんも一緒に頑張りましょう!

最後になりましたが、ここまで読んでくださって本当にありがとうございました。

イーサリアムnaviを運営するSTILL合同会社では、web3/crypto関連のリサーチ代行、アドバイザー業務、その他(ご依頼・ご提案・ご相談など)に関するお問い合わせを受け付けております。

まずはお気軽に、こちらからご連絡ください。

みんなにも読んでほしいですか?
  • URLをコピーしました!
目次