画像:https://cryptozombies.io/jp/
ブロックチェーン技術は急速に発展しており、これからのWeb3.0時代には必須となるスキルのひとつです。
Web3においてはSolidity(ソリディティ)が特に重要なプログラミング言語となっていますが、学習ツールは限られています。
そんな中、Solidity初心者に圧倒的に人気なのが、CryptoZombies(クリプトゾンビ)という無料のオンライン学習ツールです。
この記事では、クリプトゾンビの始め方とチュートリアルを進めていくコツを紹介します。
クリプトゾンビ(CryptoZombies)とは
画像:https://cryptozombies.io/jp/
クリプトゾンビはLoom Network社の提供するブロックチェーンプログラミングを学ぶための無料のオンライン学習ゲームです。
Solidity初心者が入門用に利用する教材としてかなりの人気があり、日本語を含む10カ国語に対応しています。
Solidity言語を使ってイーサリアムのスマートコントラクトを学び、Web3、Infura、Metamaskといった技術を習得することができます
クリプトゾンビ(CryptoZombies)を始める手順
2.1 無料の会員登録
まずは、クリプトゾンビのウェブサイト(https://cryptozombies.io/jp/)にアクセスし、右上の「Register」をクリックしてアカウントを作成します。会員登録は無料です。
必ずしも作成する必要はありませんが、コースの進捗を保存できるのでぜひ会員登録しましょう。
2.2 初心者向けのチュートリアルを開始する
アカウント登録が完了したら、チュートリアルを開始します。
「jp.start_course」をクリックし、コースを選択しましょう。
まずはSolidity: Beginner to Intermediate Smart Contracts(初心者から中級者向けのスマート コントラクト)から始めるのがおすすめです。
このコースではゾンビのDNAをスマートコントラクトで操作してゾンビの見た目や強さが変わっていきます。
ゾンビと捕食される人のDNAが混ざり合ってゾンビの見た目が変わる、などの楽しい仕掛けもあります。
チャプター1
まずはここで操作するDNAの概要を理解しましょう。
右のスクロールバーを操作するとゾンビの見た目が変わっていきます。
ゾンビのDNAは「8356281049284737」などの16桁の整数で決まります。
この数字を書き換えてゾンビの部位ごとの見た目が変わっていくわけですね。
チャプター2
続いてチャプター2ではコントラクトの作成を行います。
ここで説明されている通り、コントラクトはSolidityで基本となるブロック単位のカプセルのようなもののことです。
レッスンの最後ではご褒美がある
以降、符号なし整数のuintなど、さまざまなものを学んでいきます。
レッスンの最後では自分が作ったゾンビをシェアできます。
ちなみにこれは私が作ったゾンこです。
こちらのurlで確認できます。https://share.cryptozombies.io/jp/lesson/1/share/ゾンこ
クリプトゾンビ(CryptoZombies)は難しい?
クリプトゾンビをやってみて、思いの外難しい、という声をよく聞きます。
筆者もやってみましたが、説明の日本語がそもそも分かりにくかったりする部分もあるので、少々難しめに感じました。
そんなときは、答えを入力しなくてもNEXTボタンを押していくだけで進んでいくので、まずは進めていって大体の概要をつかんでいくのもありでしょう。
Solidityで重要になるuintについて
ここではまず最初につまずくと思われる、uintについて説明しますね。
「uint」は、プログラミング言語Solidityで使われる、0以上の整数(ふつうの数でマイナスがないもの)を表すための型です。
「uint」は、「uint256」という名前のもともとの型の短縮形です。これは、256ビットという大きさの整数を表しています。ちなみに、ビットとは、コンピュータが情報を扱う最小単位のことです。ビットは0か1の二つの値を持ちます。
それでは、「uint」の使い方を見てみましょう。
pragma solidity ^0.8.0;
contract CountingGame {
uint256 public count;
uint8 public smallCount;
function setCount(uint256 newCount) public {
count = newCount;
}
function addOneToCount() public {
count += 1;
}
function setSmallCount(uint8 newSmallCount) public {
smallCount = newSmallCount;
}
function addOneToSmallCount() public {
smallCount += 1;
}
}
この例では、「CountingGame」という名前のプログラムを作っています。その中に、uint256
型の変数「count」とuint8
型の変数「smallCount」を作っています。
「setCount」関数は、「count」に新しい数を設定するために使います。「addOneToCount」関数は、「count」に1を足すために使います。
「setSmallCount」関数は、「smallCount」に新しい数を設定するために使います。「addOneToSmallCount」関数は、「smallCount」に1を足すために使います。
このように、「uint」は、0以上の整数を扱うための便利な型です。プログラムの中で、数を使いたいときには、「uint」を使うと良いですね。
まとめ
いかがでしたでしょうか。クリプトゾンビは楽しくSolidityを学べる素晴らしいサイトです。ですが、プログラム初心者には少々難しい部分も多いのが事実です。
今後はこのようなツールがどんどん出てくるといいですね。