*本ページはプロモーションが含まれています

WEB3.0

Solidity(ソリディティ)は独学できる?学習・開発環境を紹介!【初心者向け】

2021-11-26

こんにちは♪よしぼうです

日本でも少しずつNFTが認知されてきましたね〜!

特に、SNSのプロフィールアイコンにできるようなNFTが最も取引されているようです。

NFTは「スマートコントラクト」というプログラムにより、第三者を介さずスムーズで安全な取引を実現します。

スマートコントラクトとは?

契約、取引、決済などを処理するプログラム

スマートコントラクトを実行するには、おもに「Solidity(ソリディティ)」というプログラミング言語を使用。

聞いたことない。。。

耳慣れない言語ですよね。

NFTの認知拡大と共に、これからほぼ間違いなく需要のある言語であると言われています。

現役エンジニアであれば独学は可能であるかもしれません。しかし、、、

ココに注意

初心者さんがいきなり独学で習得するには、少しハードルが高いかもです。。。

この記事では、「Solidity」の概要・学習方法について出来るだけわかりやすく解説していきますよ。

ぜひ、さいごまでお付きあいくださいね!

それででは、はじめていきましょう♬

こんな方におすすめ

  • Solidtiyについて知りたい
  • Solidtiyの学習方法を知りたい
  • Web3エンジニアを目指したい

この記事を書いた人

  • 京都市在住
  • 新しい技術に興味津々
  • プログラミング学習経験有り(JavaScript、PHPをほんの少し)

\Solidityが学べる唯一のスクール/

Solidity(ソリディティ)ってどんな言語?わかりやすく解説!

Solidityとは、スマートコントラクト(プログラムによって自動的に取引、契約を実行)を開発することができるプログラミング言語です。

オブジェクト指向の言語で、同じ分類となるのは、、、

  • C++
  • JavaScript
  • Python
  • Ruby

などなど。

これらを学んだことがある方は、スムーズに学習出来るかもしれません。

イーサリアム(ブロックチェーン)で使うことが出来ます。

Solidtyは、、、

ココがポイント

取引の処理を実行させるために特化した言語です

ブロックチェーン上に取引のあらゆるデータが刻まれていくため、改ざんが極めて難しく、透明性の高いものとして残ります。

従来、取引や契約のときには信頼性を必要とするため、仲介業者を通すことが常識でした。

しかし、スマートコントラクトの登場により、仲介業者を通す必要がなくなります。

  • 取引スピードの向上
  • 契約スピードの向上
  • コストの削減

以上の3点が実現可能に。

人間が理解しやすい言語(高級言語)であるため、コンピューターが理解できるようにするには翻訳する必要があります。

その翻訳をコンパイルといい、SolidityではEVM(Ethereum Virtual Machine)をコンパイラとして経由し、プログラムが実行されます。

簡単な流れ

Solidityをプログラミング→EVMでコンパイル→コンピューターが認識

という感じ。

人間と同じです。Google翻訳やDeepLなどで英語を日本語に訳すのと同じですね。

Solidity(ソリディティ)をゲーム感覚で体験してみよう!

まずは、実際に体験してみましょう!

「Crypto Zombies」というサイトがあります。

ゲーム感覚でSolidityの基礎からアプリ作成までの一連の流れを学ぶことが出来ます

日本語対応していますので、是非とも体験してみて下さいね!

もちろん、無料です。

楽しく学ぶことができました!

解説をもとに実際にコードを入力し、正しければ次に進めるというような形式です。

登場キャラクターも愛嬌があり、親しみやすいです。プログラミングを全く経験したことのない方でも楽しく学ぶことが出来るはず!

Crypto Zombiesを体験してみて手応えを感じたら、さらに学びを深めていきましょう。

>>>Crypto Zombiesをやってみる

Solidity(ソリディティ)の学習・開発環境の構築

開発環境を構築するには、イーサリアム のネットワークが必要となります。

そのためには、クライアントアプリケーションというものをインストールします。

  • Geth
  • Parity

Gethの方がイーサリアム の推奨とされているため、情報もシェアも多いようです。

Solidity(ソリディティ)の開発環境「Geth」について

Gethは「Go-Ethereum」の略称で、プログラミング言語「Go」によって実装されています。

Gethをインストールすることによって、できることは以下の3つ。

  • イーサリアムの採掘
  • スマートコントラクトの作成
  • ブロックチェーンの履歴確認

Windows、Mac OSどちらでもインストールすることができますよ。

>>>Gethのインストールについてはこちら

Solidity(ソリディティ)の開発ツールについて

Solidityで効率よく開発するためのツールは

  • Remix
  • Truffle
  • OpenZepplin

以上の3つが主なものとなります。

一つずつ見ていきますね。

Solidtyの開発ツール①Remix

RemixはSolidityの総合開発環境(IDE)です。エディタも含まれており、コーディング、コンパイル、実行をすることができます。

IDEというのは、作業台のようなもの。つまり、なくてはならない存在です。

インストールしてローカルで立ち上げる方法と、Web上のすでに用意されたIDEを利用する方法があります。

まずはWebのRemixを触ってみると良いですね

Remix IDE(Web)をひらいてみる

Remixをインストールしてみる

Solidtyの開発ツール②Truffle

Truffleは、イーサリアムのアプリケーション(Dapps)開発フレームワークです。

ソースコードのコンパイルやデプロイなどを効率的に開発することができます。

ココがポイント

スマートコントラクトの開発には欠かせない存在

Pet Shop」というチュートリアルが用意されていて、Dapps作成の一連の流れを体験することができます。

2018年の記事ですが、インストール方法や、チュートリアルについて日本語で詳しく書かれていますので参考にしてみて下さいね。

Truffleについて詳しく見てみる

「Pet Shop」チュートリアル

Solidtyの開発ツール③Open Zeppelin

オープンソースのSolidityのライブラリです。ERC20、ERC721規格のトークンを発行する際のテンプレートとなるコードが用意されています。

ちなみにそれぞれのトークンは、、、

・ERC-20⇨代替可能・・・ビットコインやイーサリアムなどの仮想通貨の規格

・ERC-721⇨代替不可能・・・NFTの規格

という感じ。

スマートコントラクトは、一度実装してしまうと書き換えることが非常に困難です。

Open Zeppelinによって既に用意されたライブラリを利用することによって、安全に実装、テストをすることができます。

Open Zeppelinについて詳しく見てみる

Solidity(ソリディティ)は独学できる?(⇦不可能ではありません)

学習方法、開発に必要なものなどを紹介してみましたが、いかがだったでしょう?

初心者の方で、、、

「よし!独学で頑張ってみよう!」

と思われた方は極めて少ないはず。。。

え。訳がわからない。。。

という方の方が圧倒的に多いでしょう。

Solidityは、JavaScriptと似た記述でコードを書くことが出来ます。

しかし、、、

記述以外にもブロックチェーンの理解スマートコントラクトの理解など、コーディング以外に様々な知識が必要となります。

現役エンジニアの方で、自身のキャリアアップのために独学で習得することは十分可能でしょう。

が、全くの初心者にとってはなかなか厳しいというのは否めません。。。

というより、Solidityを学んだだけでは、Web3エンジニアとしての価値は低いでしょう。

とはいえ、これから全くの初心者の方でも学ぶ価値は十分有ります!

なぜなら、、、

ココがポイント

日本でSolidityが書けるエンジニアが極めて少ないから

です。

希少価値の高い、エンジニアになってみませんか?

Solidity習得までに必要な知識や言語を知る

全くの未経験の方が、Solidityを活用したWeb3エンジニアを目指すのであれば、遠回りをするのがベストです。

ココがポイント

なぜなら、Web3エンジニアはWeb系エンジニアの延長線であるから

コツコツ下地を作ってから、Solidityを学ぶようにしましょう。

そこでオススメしたいのが、Udemyの『NFT-Mintサイトを作ろう!【Solidity/Next.js】』という講座を受講することです。

とてもわかりやすい講座でしたよ♬

実際にNFTのミントサイトを作ることが可能。

全体の流れを把握することができ、「他にどのような知識や言語が必要なのか?」ということを実感することができますよ。

あなたが、学ぶべきことを知れるはずです。

さらに、講座の途中であれば、返金請求もできます。

やっぱり自分には合わないかも。。

なんて時にも安心ですね。

ぜひ、講座内容だけでも目を通してみてください。

ポイント

定価は24,800円の講座ですが、頻繁にセールがあります!

セールの時は、80%〜90%OFFになるので、必ずセールのときに買うようにしましょう!

プログラミング未経験者がSolidity習得するまでのロードマップ

ご紹介した講座を活用した、Solidity習得までのロードマップを考えてみました。

step
1
Udemy「NFT-Mintサイトを作ろう!」を受講

スマートコントラクトの使い方、全体の流れを把握

step
2
学ぶべきことを知る

HTML/CSS、JavaScriptなど、基礎的なことを学ぶ

step
3
Solidityを本格的に学び直す

もう一度、Udemy「NFT-Mintサイトを作ろう!」を受講するのもあり

→理解力のあぶり出し


以上のような感じで学習を進めれば、スムーズに学ぶことができるかもしれません。

HTML/CSS、JavaScriptの学習もUdemyで十分可能ですよ

とくに谷口まことさんの「ちゃんと学ぶ、HTML/CSS+JavaScript」は、めちゃめちゃわかりやすいです。

セール中であれば、参考書一冊分の値段と変わらないので、気軽に受講することができます。

プログラミングスクールを利用するのもアリ!

Solidityを「私は独学で習得するんだ〜!」という気持ちは素晴らしいです。

実際に不可能ではないでしょう。

しかし、時間がかかってしまうというのは否めません。

Solidityは、WEB3.0やNFTに関わるプログラミング言語です。

まさに成長市場ですね!

今立ちあがろうとしている市場であるということは間違いありません。

つまり今なら、、、

ココに注目!

ブルーオーシャン!早く入った人が有利!

という状況なんです!

スピードが何より大事!ということですね。

スピードを求めるのであれば、独学よりもプログラミングスクールで学ぶ方が圧倒的に早いです。

一つだけプログラミングスクールをご紹介しますね。

Solidity(ソリディティ)が学べるプログラミングスクールはテックアカデミーだけ!

TechAcademy [テックアカデミー]は、オンラインプログラミングスクールで、Solidityを学ぶことができる「スマートコントラクトコース」というものが用意されています。

ブロックチェーンの仕組みや、仮想通貨のマイニングの理解などを網羅的に学習をすることが出来ます。

現在(2023年5月時点)、Solidityが学べるオンラインプログラミングスクールはテックアカデミーのみです。

料金は以下の通り。

スマートコントラクトコース料金表
(*TechAcademy [テックアカデミー]公式サイトより引用)

4週間プラン

集中して学びたい方向け

8週間プラン

じっくり学びたい方向け

12週間プラン

多忙で時間がない方向け

料金
(税込)
174,900 229,900 284,900
メンタリング 7回 15回 23回
チャットサポート 24時間以内に返答 24時間以内に返答 24時間以内に返答
学習時間の目安
(1週間)
40〜50時間 20〜25時間 14〜18時間

 分割払い対応(月々約7,288円〜)

決して安いとはいえません。

が、スキルを習得できれば、ものすごく価値のあるエンジニアになることができますよ!

返金請求はできるが条件は厳しい

テックアカデミーの講座は、一応返金請求が可能です。しかし、条件はかなり厳しいです。。。

  • 利用開始の1営業日前までなら全額返金される
  • 一度ログインすると解約・返金ができない

上記の通り。一度でもログイン、つまり受講を始めると返金請求は不可能ということです。

返金請求ができるのは、受講までということですね。

断固たる決意を持って受講しましょう!

テックアカデミーのプランの選び方

ぼくも、過去に独学でプログラミングを学んだ経験あります。その時に感じたことは、、、

もっと短期集中で学習すればよかった。。。

ということです。

ダラダラと半年ほど学習しましたが、やはり前に学んだことは忘れてしまうんですよ。。。

そのため、また戻って学び直したりということを繰り返しているうちに”挫折”してしまいました。

つまり、、、

ココがポイント!

短期集中で学ぶのがオススメ

です!

上記の料金表で考えてみると、「4週間プラン」か「8週間プラン」が良いでしょう。

学習時間の目安をこちらに書き出してみると、、、

  • 4週間プラン⇨40〜50時間/週
  • 8週間プラン⇨20〜25時間/週

とあります。

1日あたりで考えてみると、、、

  • 4週間プラン⇨5〜7時間/日
  • 8週間プラン⇨3〜4時間/日

という感じです。

時間を確保できるのであれば4週間プランがオススメ!費用も安いです

この期間は学習に全集中!するくらいの気持ちが求められます。

週に2回、パーソナルメンター(学習を助けてくださるスペシャリスト)がサポートしてくれます。

オンラインスクールという、1人での学習環境の支えとなりますよ。

原則としてメンターは変更できないが、、、

もしもメンターと合わなかったらどうしよう。。。

という心配をされる方もおらるかもしれませんね。

テックアカデミーの利用規約をみてみると、、、

*テックアカデミー利用規約より引用
会員は担当メンターの指名および変更は行えないものとします。ただし、当社が担当メンター変更の必要があると認めた場合はこの限りではありません。

とあります。

原則、変更は難しいようです。。。

が、どうしても「メンターと相性が合わない」などという場合は正直に申し出てみましょう。変更してもらえるかもしれませんよ。

まずは学びやすい言語から始めてみる

テックアカデミーでは、Solidity以外にもJavaScript、Pythonなど、様々な言語を学ぶことが可能。(上記の費用とは異なる場合があります)

いきなりSolidityを学ぶのではなく、学びやすいJavaScriptなどを学べるフロントエンドコースからはじめても良いかも?

とくにJavaScriptは、Web3エンジニアにとって必須スキル。

テックアカデミー無料体験で、雰囲気を味わってみてくださいね!

天気予報アプリが作れるみたいですよ

Solidity(ソリディティ)についてのまとめ

日本では、エンジニアが不足していると言われています。

その中で、Solidityが書けるエンジニアとなれれば、希少価値は相当高いですよ♪

Solidityの普及はほぼ間違いないありません

なぜなら、、、

ポイント

  • ブロックチェーンが衰退していくことはあり得ない
  • 仮想通貨やNFTと密接な関係があるから

現に、ぼくが参加しているDAOでも、ものすごく重宝されていますよ!

ぼくがエンジニアを目指すなら、間違いなく習得したい言語の一つ。

初心者の方は段階的に学習するのも一つの方法です。先述しましたが、記述の似ているJava Scriptから始めてみるのも良いかもしれませんね。

未来を見据えて学習を始めてみませんか?

最後までお読み頂き、ありがとうございました。

  • この記事を書いた人
  • 最新記事

よしぼう

2021年8月よりブログ運営開始。 1980年生まれ。京都市内の寺院の副住職。現在は他寺にて法務(お寺に関する仕事)。 中学生の頃からギターを始め、いくつかのバンド経験をする。 音楽鑑賞・映画鑑賞・読書などが趣味で完全なインドア派。 とにかくなんでも挑戦し、人生を駆け抜けます!

-WEB3.0
-, , ,