Paoの技術力を磨くブログ

機械学習やブロックチェーン等の技術を身に付けていくブログです。

CryptoZombiesを一通りやってみて。。。

EthereumでのdApp開発の学習ツールとして有名な「CryptoZombies」を一通りやってみました。
(今出ているLesson6まで)

cryptozombies.io

「CryptoZombies」はEthereum上に独自ネットワークを開発しているLoom Network社が提供しています。
「CryptoZombies」という名のdAppのゲームをチュートリアルと共に一から作っていきます。

f:id:go5paopao:20180519222754p:plain

キャプチャの通り、右側にエディターがあり、左側にコードの書き方やノウハウ、課題が書かれています。
課題の通り、コーディングをすると次のステップに進めます。

キャプチャは英語ですが、日本語も可能です。
(個人的には分かりやすい英語であり、今後dAppの勉強するなら英語はほぼ必須なので英語推奨です)

今後、章が増えていくと思いますが、1〜5章まではSolidityの書き方、6章はWeb3.jsでのフロントエンド部分の書き方を勉強できます。

また、各章の中でもステップ毎に、テーマが決まっており、コントラクトの宣言の仕方や修飾子の宣言の種類などを体系的に学んでいけます。


一通りやってみた上でエンジニアが勉強として使う上でのいいところや注意点などを書いておこうと思います。


いいとこ:スマートコントラクトによってアプリケーションがどう作られるのかを理解できる

Solidityやスマートコントラクトを調べても、だいたいは「トークンを作ってみよう」「コントラクト間でのメッセージのやり取りをしてみよう」といった基本的な内容が多く、「実際ゲームとかのアプリケーションはどう作るの?」というところが具体的にイメージできないことがよくあります。
(プログラミング初心者あるあるですが)
最終的に具体的なゲームとして動作するところまで進んでいくので、アプリケーションがどう出来ているかまで学習できるのがいいところだと思います。

いいとこ:体系的に学べるので、知らなかった部分の穴埋めをできる

まだEthereumの歴史も浅いので、あまり体系的にSolidityやdAppについて学べるものは少ないです。
結果、いろんなとこで調べながら学んでいくわけですが、部分的に理解に抜け漏れも生まれます。
すでにある程度勉強している人は知っているところを飛ばしながら、そういった抜け漏れがありそうなとこだけを勉強して埋めていくっていうのもありだと思います。
個人的には、GASの消費を抑える書き方についてはあまり勉強できておらず、そのことに気づき勉強になったかと思います。

注意点:課題のクリアを目的とせず、仕組みを理解する

各ステップ毎に出てくる課題をクリアすれば次に進めるわけですが、この課題自体は基本的に難しくありません。
具体的に「どこにどういったコードを書け」という指示があり、その通りやるだけなので。(コピペしろみたいなのもあります)
課題の手前に、書き方や注意点・ノウハウが書いてあるので、そこを必ず読むようにしましょう !!

おすすめ:英語で勉強する

上にも書きましたが、日本語訳もありますが、英語でやることをおすすめします。 利用としては、 - 分かりやすい英語が使われており、苦手な人にも英語の勉強にもなる - Ethereum関連の英単語や熟語に慣れることができる といった感じです。
特に大事なのは2つ目です。
今後dAppやEthereumの勉強をしようとすると、各プロジェクトのGithubやWhitePaper、Ethereum.researchなど、ほぼ間違いなく英語のページが出てきます。
そんな時にEthereumやSolidityなどでよく出てくる単語や熟語があり、独特の意味合いで利用されたりします。
それをこのCryptoZombiesとかで勉強しておくと、分かりやすくなったりするのでオススメです。




すでにある程度勉強していたとはいえ、それでも勉強になりました。
学んだことを忘れないうちに、簡単なdAppを作ってみようと思います!


ちなみにここまでオススメしておきながら、LoomNetworkの関係者でもなければ、LOOMトークンも持っていないです(笑)