CryptoZombiesでsolidityを学ぶ
CryptoZombiesというsolidityを学ぶwebサイトがあり、面白そうだなと思い、利用し始めました。
solidityとは
最初に、solidityとはそもそも何かということを、公式サイトで確認しました。
Solidityは、スマートコントラクトを扱えるオブジェクト指向の高級言語です。スマートコントラクトはEthereum内でアカウントの動作を制御するものです。
SolidityはC++、Python、JavaScriptを参考に、Ethereum Virtual Machine(EVM)の操作を目的に作られています。
Solidityは静的言語で継承やライブラリ、ユーザーが定義した複雑な型をサポートします。 Solidityで投票やクラウドファンディング、匿名のオークションやマルチシグウォレットを作成することができます。
pragmaとは
Solidityでは一番最初に、コードが使用するSolidityのコンパイラのバージョンを宣言する必要があります。これは、将来コンパイラのバージョンが原因で、コードが動かなくなることを防ぐために必要みたいです。
具体的には、pragma solidity ^0.4.19;
のように記述します。
コントラクトについて
classのようなもの。基本的には1ファイル1コントラクト。
Solidityのコードはコントラクト内にカプセル化される。
変数やファンクションはすべてコントラクトに属している。
contract ZombieFactory { // この中に変数や関数の処理を書いていく }
uintとは
uintとは、符号なし整数のデータ型である。つまり、負数ではないということを示している。
uint以外に、intという符号付整数もある。
補足として、uintは256ビットの符号なし整数であるuint256のエイリアスです。uint8、uint16、 uint32など、少ないビット数でuintを宣言することもできます。しかし、一般的には、特定の場合を除いて、uintを使うようです。
contract Example { // この部分がブロックチェーン上に記載される uint myUnsignedInteger = 100; }