ブロックチェーン

Solidityをゲーム感覚で勉強できるCrypto Zombiesのクオリティ高すぎ

こんにちは、フリーランスエンジニアのとだこうき(cohki0305)です。

最近、ブロックチェーンを仕事で扱うようになり、Solidity を書く機会が増えてきました。それゆえに、いろんな学習コンテンツを通して勉強してきました。

その中で、Solidity を学ぶのに最適な教材を見つけたので紹介していきます。

Crypto Zombies というコンテンツです。

Crypto Zombies とは

Crypto Zombies とは、Loom Network というブロックチェーンを使ったアプリケーションを作っている会社が作った Dapp の学習コンテンツです。無料で利用できて、日本語に対応しています。

すべてのコースを終えると、Solidity を一通り書けるようになり、JavaScript でブロックチェーンのデータにアクセス・書き込みができるようになります。

※ 僕はすべて受講しましたが、メインは Solidity の学習です。詳しくは後述します。

Progate のように、web 上で学習が完結するようになっています。レッスンが始めると以下のような画面が表示されます。

左側にそのレッスンについて学ぶ内容が表示されます。そして、与えられた課題をコードを書いて解いていくというものです。

Crypto Zombies は Crypto Kitties という実際にある Dapp の模倣アプリを作ることができるので、実践的な知識を得られますし、ゲームを作っていくので飽きずに進められました。

どんなに勉強になる教材でも飽きてやめちゃえば効果が少ない!そういう意味でも優れたコンテンツです!

レッスンを進めていくと、ゾンビ軍団を作れるようになっていますよw下のは僕のゾンビたちです。

カリキュラム

レッスンは 1 ~ 6 で構成されています。

Solidity の学習が 1 ~ 5, JavaScript によるフロントエンドの開発が 6 になっています。フロントエンドの開発は入門程度になっていますが、Solidity の学習はかなり優れていました。

Solidity の基本文法を一通り学べます。さらに、Solidity のデザインパターンやセキュリティ対策などを学べたのがよかったです。

レッスンごとにどんなことが学べるのか詳細に説明していきます。

レッスン 1

レッスン 1 では、Solidity の基礎の基礎を学んでいきます。

Class(Contract)、関数をどう定義するのかなど Solidity がどういう言語なのかを解説することをメインにしています。

レッスン 2

レッスン 2 では、少し複雑なコードになってきます。

アプリの開発に必要になる require、継承、グローバル変数、Solidity に特有のインターフェースを学びます。

レッスン 2 では、ゾンビに CryptoKitties を食べさせて、ゾンビを成長させるというチャプターもありますw

レッスン 3

1 ~ 2 にて Solidity の言語仕様を学んだので、レッスン 3 からはより実践的な知識を学びます。

gas(手数料)の節約方法、セキュリティレベルの向上、など Solidity を開発する上でのデザインパターンを学びます。

Solidity の言語としての特徴とブロックチェーンの特徴を理解した上で、実装しないと信頼性の高い Dapp は作れないことがよく分かるでしょう。

レッスン 4

レッスン 4 はコードが複雑化します。今ままで学んだことの応用です。

ゾンビのバトルシステムを作るのですが、継承関係が深くなったり、扱う関数がどんどん増えてきます。

レッスン 5

レッスン 5 はトークンについて学ぶことができます。

トークンとは、ブロックチェーンの中で発行した独自の仮想通貨のことです。つまり、このレッスンでは仮想通貨を作ります。

ERC721トークン というトークンの規格に従い、ゾンビをトークンにして交換可能にします。面白そうでしょ?

レッスン6

レッスン 6 は、JavaScript でブロックチェーンのデータにアクセスしたり、書き込んだりします。

今まで Solidity で作成してきたブロックチェーンにあるコードを操作することをメインにしています。

最後に

Crypto Zombies をやれば、ブロックチェーン初心者でも Solidity エンジニアになれるので、興味ある方はぜひやりましょう!

ただ、Crypto Zombies では、フロントエンドの開発において最新技術を利用していません。現在は truffle というフレームワークを用いて開発することがスタンダードになりつつあります。

僕は note にて truffle を使って dapp を作るチュートリアルを作成しているので、興味ある方は参考にしてください!JavaScript が書けるのであれば最後までできるようなレベルです。

ABOUT ME
cohki0305
25 歳にして実務経験 1 年でフリーランスエンジニアになり月収 3 倍になった男。独学のみで営業からエンジニアになった経験あり。 未経験からでもエンジニアになる術を多くの人に伝えたいと思ってます!