【CryptoZombies】イーサリアム上にゾンビを作ってみた【Solidity】

 

こんにちは、やまぴー(@Astro8754)です。

 

「俺のプログラミング(おれぷろ)」、第10回目の更新です。今後もログを残していこうと思います。

 

 

第10回目の今回は、背伸びをして少しだけ”Solidity”という言語を触ったので、その記録としたいと思います。

 

使った教材はCryptoZombiesというオンライン教材です。

 

学習計画からの逸脱ではあるので、次回記事からは通常運転(?)に戻します。

 



 

ブロックチェーン開発言語、Solidityとは?

 

Solidityはイーサリアム( ETH )上でコントラクトを実装するための開発言語です。ブロックチェーンのアプリケーションを作ろう、みたいな感じです。

 

ETHのアプリは”De-centralized” − つまり非中央集権的(管理者不在、自立分散型)な”Application”ということで、”DApps”と呼ばれたりもします。

 

また、SolidityはJavaScriptに似た構文を持ちます。ですから、学びやすい、はずです。

 

CryptoZombiesとは?

 

Progate 「CryptoZombies」トップページより画像引用 

 

CriptoZombiesはゾンビゲームを1から実装しながら、イーサリアム上でアプリを開発する方法を学べる学習キットです。学べる言語はもちろんSolidityです。

 

無料ですし、日本語を含む8ヶ国語に対応しています。

 

レッスンの進め方はProgate寄りです。説明を読んで、指示通りにコードを書いてみる。基本的にはこの繰り返しです。

 

Solidityでゾンビを作ってみました

 

レッスン1は”Making the Zombie Factory”というタイトルの通り、ゾンビの生成装置を作ります。

 

ほんと色々と海外のサービスって感じでイイですね(語彙力…)。

 

僕が作った(?)ランダムゾンビ生成装置はこちらです。なんか、これで合っているのかどうか分かりませんが。(笑)

 

 

レッスンの最後にはSolidityについての解説もありました。

 

ETHにはWeb3.jsというJavaScriptライブラリがあり、Solidityで作成したコントラクトはWeb3.jsを使ってフロントエンドとやり取りされる…、ということですよ!

 

ちなみに、19年2月段階ではこれ以外にも8つのレッスンが公開されていました。

 

CryptoZombiesでSolidityを勉強した感想

 

この記事を書きつつも自信なさげなのですが、JavaScriptの理解が不十分だと思い知らされました。

 

学習順序としては、JavaScriptが優先ですね。

 

ただ、それでもレッスンはクリアできましたし、初心者でも学習が進まないなんてことはないと思います。

 

 

こちらは僕が詰まったところのメモです。

 

宣言したイベント( NewZombie )を関数( _createZombie )で発生させる部分です。特に、配列に” id ”を格納するところ

 

 

が難しかったです。構造体と配列の操作はごちゃごちゃに見えます。加えて、” -1 ”は配列の最初のインデックス番号が0だからですね。

 

とにかく、ゾンビに” id ”をつけられなくて手惑いました。

 



 

CryptoZombiesでSolidityの学習(まとめ)

 

いかがでしたでしょうか。

 

今回は少し背伸びをしてCryptoZombiesでSolidityを勉強したので、記事に残してみました。

 

JavaScriptの知識があれば理解できる!と思いつつ始めたのですが、JavaScriptの知識がなかったので、出直してきます。

 

Progate 「CryptoZombies」トップページより画像引用 

 

追記ですが、書店で数分ほど関連書籍を探ってみて、良さげな本を見つけました。本格的にSolidityを学ぶときは、以下の書籍にお世話になりたいです。

 

なんとCryptoZombiesの解説だけで1章組まれていました。詳しく読んでみたいですね。

 

 

余談、2019年2月21日現在、

ETHの価格は約15,800円(/ETH)です。

 

プログラミング学習の記録、まだまだ残していこうと思います!

 

 

やまぴー
Have fun!