Mastering Solidity Basics 〜入門レベルを脱してSolidityを自在に操るための基礎固め〜
What you'll learn
- Solidityの基礎習得(型、式と制御、エラーハンドリング、継承など)
- 多くのプロジェクトが公開しているスマートコントラクトのSolidityコードが読めるようになる
- 実現したいスマートコントラクトの機能を調査検証しながら書けるようになる
- Solidity公式マニュアルの記載内容を理解して読めるようになる
Requirements
- インターネット接続可能なパソコン
- Googleアカウント(GMailアドレス)
- Chromeブラウザ
- 入門レベルのプログラミング学習、経験のある方
- Solidityコードを書いたことがある方(書いたことがない方はコース紹介ページをご覧ください)
- Ethereumもしくはブロックチェーンの特徴を学んだ経験のある方(ブロックチェーン自体全く初めてという方はEthereum概要をざっと学んでから受講ください)
- わからない用語や概念など自力で調べようとするスタンスの方
Description
本コースが想定する対象者について補足
このコースは、Solidityでコードを書いたことがある人が、腰を据えて基本をしっかり習得し、スキルレベルを引き上げるためのコースです。
全くSolidityでコードを書いたことがない人向けのコースではありませんのでご注意ください。
(全くSolidityでコードを書いたことがないが強い関心がある、という方には「CryptoZombies」という、無料で素晴らしい入門者向けコースがあるのでそちらをご紹介します。もしくは私のUdemy有料コース「【注目スキル:DApp(分散アプリケーション)】体系的に学ぶ『スマートコントラクト』開発〜NFT編ステージ1〜」を先に受講いただくのが良いと思います。どちらか1つを受講した後に本コースを再度ご検討ください。)
このコースはどんな方向けのコースなのか
いくつかの無料チュートリアルでなんとなくSolidityを書いてみた。
自分で作りたいものを書いてみたい、あの有名なプロジェクトのSolidityコードを読んでみたい。
でも都度都度詰まってしまってコンパイルが通らない。
Solidityコードを読んでみたけどこれまでやってきた無料チュートリアルだけでは読めないことがわかった。
しかし、
都度色々なサイトで調べていると時間がかかりすぎる(ほとんど英語だし)
マニュアルを読むのも大変(ボリュームがあるので必要な箇所を探すのが大変)
Solidityの基礎をきちんと身につけたい
基礎固めができるようなガイドが欲しい
本コースはこんな方向けのコースです。
最初にお断りしておきます。本コースでは基本的にはSolidityの文法、構文を中心に学びますが、こういった類のコースとしては非常に時間が長いコースになっています。
本コースではSolidityの文法、構文だけでなく随所に詳しく動作を確認する内容が含めています。(例えばEvent機能を使ってログ発行するだけでなく、どのような形式でログが記録されているのか、確認する内容など)
本コースはSolidityやスマートコントラクト開発に対して強い興味、関心、ある程度の忍耐力を持つ方のみを対象にしています。こういった方々に受講いただきたいと考えて製作しました。
(今の仕事や今後目指す仕事がエンジニアかどうか、開発者かどうか、は関係ありません。むしろさまざまな職種、専門性を持った方に受講いただけるとうれしいですし、これから何らかの専門性を身につけたい方も大歓迎です。)
逆に強い興味、関心、ある程度の忍耐力がないと受講完了することはできないと思います。
ですので、予め今お読みいただいているコース紹介ページや、コース紹介動画、またいくつか無料で公開しているレクチャー動画をご確認いただき、ご自身の学習スタイル、期待、要望に沿った内容であるか、また講師の教え方や伝え方などが気にいるかもしくは我慢できる範囲かをご確認いただくことを強くお勧めします。
その後ご購入するか、しないか、ご判断をお願いします。
本コースの受講により受講者がSolidityの基礎スキルを習得し、受講後にステップアップするために必要なレクチャーを盛り込んでいますので、これを目指す方には是非是非受講いただきたいです。
一方、受講には時間とお金もかかりますし、本コースや私のレクチャースタイルと合わない方に無理やりお勧めしたいとも考えておりません。受講開始したもののやはり合わないということがわかれば即返金してください。Udemyでは購入から30日以内であれば返金可能です。方法は以下のURLです。
https://support.udemy.com/hc/ja/articles/229604248-%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E8%BF%94%E9%87%91%E6%96%B9%E6%B3%95
本コースで扱っていない事項のご案内
本コースではSolidityの文法、構文の基本習得を目指していきます。
一部については扱っていないかもしくは範囲や深度を絞っています。予め以下にご案内しておきます。
これらについてレクチャーの要望があればコメント付き評価などでリクエストください!検討いたしますmm
グローバル変数の一部
特にGASや習得にEthereumチェーンの仕組み理解が必要なものは扱っていません
特殊ファンクション
abiファンクションについては数個に絞って学びます
型変換
専用にレクチャーを設けるまではしていません。しかしコードの中でいくつかのパターンについて扱っています
Inline Assembly
全く扱っていません
Library
深度を限定し、触り程度で学びます
注意事項
・質問について
コースで扱っているレクチャー内容やレクチャーを進めていくにあたり進められず詰まってしまったなどあれば、UdemyのQA機能で質問をください。可能な限り回答するようにしますので活用ください。
また、講義に解説を追加して欲しい!というリクエストも随時受け付けていますので連絡ください。お待ちしています。
ただ以下2点について予めご協力、ご了承をお願いいたします。
・質問前に一度講師提供コードと見比べてから質問をお願いします。質問の際には書いているコード自体も記載ください。現象やご質問内容を理解するコミュニケーションが最も時間を要します。お互いに時間をロスすることなく解決していくためご協力お願いします。
・コースで扱っているレクチャー内容以外のご質問は原則受け付けていませんので予めご了承願います(特にコース関係ない内容、ご自身が今開発してるコードのレビューなどはご勘弁ください)。
ご質問への返信タイミングは、ベストエフォートでの回答になります。目安は質問から3、4日程度
・本コースで扱うソースコードについて
本コースで扱うソースコードは学習目的のものですが、本コースの受講者か否かに限らず提供できるようパブリックリポジトリにし、コードもMITライセンスを採用しています。
(この形でスタートして何か問題が出て来ればそのタイミングで見直します。)
利用者の権利はMITライセンスの内容通りですので必ず確認をお願いします。また、ソースコードをそのまま使ったり、切り貼りしたりしてご自身のNFTコントラクトを開発し、Ethereumなどのメインネットワークにデプロイするのは非推奨です。
・免責事項
このコースでいくつかサービスを使いながら学びますが、全て学習目的です。技術を学ぶためのコースであり、特定の銘柄や商品の投資や投機を促すものではありません。いかなる責任も賠償もできませんので予めご了承の上受講ください。
Who this course is for:
- CryptoZombiesやいくつかの入門チュートリアルを終えて次のステップの教材を探している方
- Solidityの基本をしっかりマスターしたい方
- 日本語で体系的に基本を習得したい方
- コードを書きながら学んでいきたい方
Instructor
昨今Web3と呼ばれている分野の主要技術、DApp(分散アプリケーション)、スマートコントラクトの開発に傾倒しています。Web3と言っても技術発展そのものも連続的なものできれいに線を引き難いものだと捉えています。
僕自身はインターネットが普及する前のWeb0(造語)から技術の進化を肌で体験してきていて(要はただの中年です)、技術と技術を使った社会の変化に興味があります。
技術発展のスピードは凄まじいものがあり、遅かれ早かれある程度業種を問わず、開発スキルやIT技術活用スキルが今まで以上に必要になると信じています。
僕は自分のコースの価値提供目標を「独学ではどうしてもかかってしまう調査時間や試行錯誤の時間などの学習していない時間の短縮、学習効率のUP」に置いています。
特に新しい技術は、体系的な日本語情報が少ない傾向にあります。
学習のための情報収集、どの順番で学習していくと効果が高いか、適切なチュートリアルは何か、どのような試行錯誤が効果的か、などなど技術習得時間以外の間接的な時間、オーバーヘッドがかかりすぎてしまいます。
この状況は、普段働きながら業務外で新たなスキルを習得したい方には非常に重く大きな負担になります。僕は自分のコースでこの課題に取り組んでいます。
受講する方が鍛えたスキルを武器に、なりたい自分に少しでも近づけるようサポートしたいと思ってます。宜しくお願いします。
---経歴---
20年ほどシステム開発に携わるエンジニア
・大学卒業後IT業界に就職
・SIerやWEB系事業会社で様々なシステム開発に携わる
役割:開発、ネットワークインフラ、プロマネ、システムアーキテクチャ立案、マネージャなど様々
・現在、某WEBサービス事業会社のマネージャー兼エンジニア