【CryptoZombiesを触ってみた】Lesson1で学んだこと
【CryptoZombiesとは】
Solidityでスマートコントラクトの構築を学習できるサイト
日本語で丁寧に説明してくれるので、プログラミングやったことない人でも学習できる。
【はじめに】
Solidityは未経験ですが、JavaScriptは触ったことがあります。
そんな人が自分用の学習メモとして書いています。
【学んだこと】
- contractの書き方、お作法
- 変数宣言
- 四則演算
Solidityは指数演算子もサポートしている。
uint x = 5 ** 2; // 5^2 = 25 と同様
※cryptozombies より引用
- 構造体と配列の操作は他のプログラミングと同じ
- 関数
- グローバル変数と区別をつけるために、引数の変数名にアンダースコアをつける。
- スコープ(public、private)を指定する位置が後ろ
- privateにする場合は引数同様、関数名にもアンダースコアをつける。
- 修飾子
- view:データの読み取り専用で編集できない。
- pure:アプリ内のデータにアクセスできない。戻り値が関数の引数のみに依存する。
function _generateRandomDna(string _str) private view returns (uint) { }
※cryptozombies より引用
- 型のキャスト
- Event(イベント)
ブロックチェーンで何かが生じたとき、
コントラクトがアプリのフロントエンドに伝えることができる。
event NewZombie(uint zombieId, string name, uint dna); function _createZombie(string _name, uint _dna) private { uint id = zombies.push(Zombie(_name, _dna)) - 1; NewZombie(id, _name, _dna); // イベント発生、フロントエンドに通知 }
※cryptozombies より引用
【できたもの】
ゾンビの名前を入力すると、オリジナルのゾンビを作成してくれる。