趣味プログラミング

CryptoZombiesでSolidity開発者デビュー!メリット・デメリットと印象に残った点

Solidity。スマートコントラクトの開発で使う言語。

名前は聞いたことがあっても、実際にどういうものなのか、食わず嫌いになっていませんか?

CryptoZombiesというオンライン学習サイトが入門向けによさそうと聞いたので、まずは1レッスンだけ試してみることにしました。

ミナセさん、ありがとうございます!

 

この記事を読んで欲しい人

  • Solidity、聞いたことはあるけど試したことはない人
  • まずは手を動かしてSolidityを触ってみたい人
  • CryptoZombiesって何?と思っている人

 

CryptoZombiesとは?

CryptoZombies はイーサリアム上でゲームを開発する方法を学ぶ、無料のオンラインレッスンです。

Loom Networkが提供しています。

レッスン1(あっという間に終わります)を終えるだけでも、内容的には十分Solidity開発者と名乗れるレベルになります。

というわけで、私もSolidity開発者になりました!

 

 

Solidityに関係ある単語まとめ

単語説明
スマートコントラクト

契約に関する処理のひとまとまりを自動化させる技術。考え方はブロックチェーンより古く1990年台にNick Szaboが提唱。

例:「自動販売機」

「購入者がお金を投入→商品ボタンを押す」という契約条件が満たされた場合、「商品を提供する」という契約が、第三者を介さず自動で実行される。

Dapps(分散型アプリケーション)

ブロックチェーンを用いた非中央集権的なアプリケーション。以下の3要件を満たすものをDappsと呼びます。

  • アプリケーションがオープンソース
  • 暗号トークンを利用している
  • ユーザの合意のもとで改善
SolidityEthereum(イーサリアム)上で実行可能なプログラム言語。スマートコントラクトの開発に使用される。

 

CryptoZombiesでSolidity開発者デビューするメリット3つ

 

WebブラウザだけでOK・音声なしで周りを気にせず

新しいプログラミング言語を試すときに、一番最初にネックになるのは、その言語のための環境構築です。

最近ではそうでもないですが、5年くらい前だと、プログラミング言語を実行できる環境を構築するだけで半日かかったりすることもよくありました。

CryptoZombiesはWebブラウザ(とインターネット環境)さえあれば学習できるので、とても便利に、スムーズにSolidityに入門できます。

音声コンテンツもないので、周りを気にしなくてもいいですね。

 

日本語にも対応

日本語を含め、10か国語に対応しているようです。
日本語版で読み進めてみましたが、それなりに自然な日本語になっていると感じました。

 

レッスンの途中で「ちょっと分かりにくいな」と思った時は、URLから直接言語を変えることもできました。

この例だと「NewZombieという名前のevent」を作ればいいんですけど、日本語だと一瞬「?」となったので、小技として紹介します(笑)

NewZombieを呼び出すeventを宣言せよ。zombieId (uint)、 name (string)、 dna (uint)の値を渡すのだ。

https://cryptozombies.io/jp/lesson/1/chapter/13

Declare an event called NewZombie. It should pass zombieId (a uint), name (a string), and dna (a uint).

https://cryptozombies.io/en/lesson/1/chapter/13

 

細かいチャプターに分かれて進めやすい・進行状態の保存もできる

1つのレッスンの中に小分けになったチャプターがいくつかあって、そのチャプターごとに課題を解きながら進めるスタイルです。

 

必要な知識はチャプターごとにその場で解説してくれますし、課題を解くときにはヒントや答えを見ることもできるので、初心者でもあまり止まらずにサクサク進められます。

(eventって何?みたいな知識はチャプター13で解説してくれています)

進行状態を小分けに保存できます。

CryptoZombiesでSolidity開発者デビューするデメリット3つ

※デメリットは「あえて3つ挙げるなら」というニュアンスが強いので、あまり気にせずレッスン1を試してみたらいいと思います。

 

ゾンビを作るモチベーションがまだそこまで分からない

私個人としては、あまりゲームに興味がないからだと思いますが、ゾンビを作って何が楽しいのかまだよく分かっていません。

 

レッスンを進めていったり、その後に自分で意味のあるものを作るときの方が楽しく感じられると思うので、もう少し進めて様子を見たいと思います。

 

 

レッスン内にいくつのチャプターがあるのか分かりにくい

進行状態を小分けに保存できるのですが、レッスン内にいくつのチャプターがあって、そのうち自分がどこにいるのか進捗が分かりにくいと感じました。

気づかなかったのですが、プログレスバーみたいなものがあったのかな・・・。

 

稀に他のプログラミング言語との違いに戸惑う

他のプログラミング言語になじみがあると、戸惑う点がたまにありました。

例えば関数の修飾子を関数名の後に書く点など、JavaやScalaでは違う書き方をするので少し新鮮でした。SolidityはJavaScriptに似た構文を使うと言われるので、JavaScriptの経験があれば有利かもしれません。

 

CryptoZombiesでSolidity開発者デビューして印象に残った点

レッスン1の中に

「プライベートチェーン(サブネット)をデータベースのように使うことができる」

という内容の記述があって、個人的にはそこが一番印象に残りました。

 

自分でデータベースを用意しなくても、ファイルシステムに保存しなくても、データの永続化ができる!と感動しました。

「データの永続化」のほかにも、バックエンドエンジニアをしていて気になるいろいろな問題が、解決されるんだろうか、と興味が湧きました。

 

おわりに:Solidity開発者デビューは簡単!

CryptoZombiesにアクセスして、レッスン1だけでも早速終わらせて「Solidity開発者」を名乗りましょう!

▼経験の棚卸しで納得のキャリアを▼
▼相場に消耗しない資産運用▼
マネースクエア
Pythonチュートリアル

Pythonをインストール、サンプルを通して使い方を学んだら、次は実際に何か作ってみませんか?

手元のパソコンで環境構築不要・Webブラウザだけで、パッと見た人の印象に残るコンテンツを作る手順を一から説明しています。

チュートリアルを見てみる

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください