初心者文系主婦がブロックチェーンを学ぶブログ

IT革命のビッグウェーブに乗り遅れた主婦が、ブロックチェーン革命の波にのるべく、ブロックチェーン技術を学ぶブログです。

【CryptZombies】レッスン1チャプター2:コントラクト

コントラクト」は、イーサリアムアプリケーションの基本ブロックのこと。

変数やファンクション(関数)はすべてコントラクトに属しています。

 

Version Pragma(バージョンのプラグマ)

 

Version Pragmaは、コードが使用するSolidityのコンパイラのバージョンを宣言するものです。

Solidityはコンピュータ言語なので、人間がプログラムを書くときには難しくて扱いずらいです。

そこで、人間がわかりやすいプログラムを書いて、コンパイラ(翻訳機)でSolodityに変換してもらいます。

そのコンパイラのバージョンを宣言するのがVersion Pragmaです。

コンパイラのバージョンの宣言方法

f:id:nomadomama:20180911162446p:plain

 

 

テストの実行

ゾンビ軍団を生み出すための、「ZombieFactory」というコントラクトを作成します。

① solidity 0.4.19バージョンを指定して、コントラクトを使う準備をせよ。

f:id:nomadomama:20180911163328p:plain

と入力。

「;」をつけるのを忘れないように注意!

②ZombieFactoryという空のコントラクトを作成せよ。

「ZombieFactory」という名前のコントラクトを作成します。

f:id:nomadomama:20180911163150p:plain

続いて、コントラクトの中身は空ということなので、

f:id:nomadomama:20180911163246p:plain

となります。

 

お疲れさまでした!

 

 

<参考>

CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network

【CryptZombies】レッスン1チャプター1:レッスンの概要

イーサリアム上でゲームを作成する方法を学べるのが、CryptZombies(クリプトゾンビ)。

「別の言語(例:JavaScript)である程度経験があることを前提に進めていく」と宣言されちゃいましたが、とりあえず無視して始めます。

 

CryptZombiesのレッスン構成

f:id:nomadomama:20180910152925p:plain

 

ゾンビのDNAの働き

ゾンビの外見は、16桁のゾンビDNAによって決まります。(以下例)

f:id:nomadomama:20180910154500p:plain

実際のDNAと同じように、それぞれの数字の部分は対応するゾンビの部分と一致します。

(例)最初の2桁の数字はゾンビの頭の部分、次の2桁はゾンビの目の部分。

2桁の数字では100種類の表示が可能だけど、チュートリアルではシンプルにするために、ゾンビの頭部を7種類に設定しています。

例えば、上のゾンビDNAの例では、最初の2桁は「83」なので、これをゾンビの頭の種類に置き換えるときに、

83 % 7 + 1 = 7

と計算します。(ゾンビの頭部のタイプは7になる)

 

「%」って何を意味するの?

「%」は、「割った余り」のこと。

83÷7=11余り6

なので、

83%7+1=6+1=7

になります。

なぜ+1をするのかというと、ゾンビの頭部は7種類なので、1~7の数字に当てはめる必要があるからです。

例えば、最初の2桁が「14」の場合、

14%7=0になります。

1~7の数字に当てはめるために、

14%7+1=1

というように、「+1」をする必要があるのです。

 

テストの実施

スライダーを動かして、数字を変えることでこんなゾンビの外見にしてみました。

f:id:nomadomama:20180910161151p:plain

 

 

<参考>

CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network

このブログについて

IT革命のビッグウェーブに乗り遅れた主婦が、ブロックチェーン革命の波にのるべく、ブロックチェーン技術を学ぶブログです。

 

プロフィール

1986年生まれ。

数学が超苦手なため、私立文系の大学に進学。

2012年に主人と結婚、2016年に長男を授かりました。

しかし、ノマドな主人と育児をしていく中で、手に職をつけて、時間と場所にとらわれない生活をしたい!と強く感じるようになりました。

 

手に職、ということでプログラマはどうだろう?

でも、イチから勉強したところで、プログラマはすでに優秀な人材がたくさんいるし…。

 

そこで目を付けたのがブロックチェーン技術。

ブロックチェーン技術はまだ黎明期にあるし、技術者も少ない。

投機的な「仮想通貨」に関する技術なので、なんだかちょっと怪しいけど、IT技術のように、世の中を仕組みを大きく変える可能性に満ちているようにも思える。

それに、有志による無料の勉強ツールがたくさん供給されている。

 

仮想通貨といえばビットコインしか知らないし、プログラミング言語の違いもよく分からないけど、とりあえずブロックチェーン技術を勉強してみることにします。