Techpit:テックピット
  前のパートに戻る 完了して次のパートへ  

  1-2:簡単なスマートコントラクトを作ってみよう

1.2 簡単なスマートコントラクトを作ってみよう


1.2.1 Solidityの特徴

Solidityには以下の様な特徴があります。

・SolidityはJavaScriptライクな静的型付け言語です。変数を定義する際はそこに格納するデータ型を明示する必要があります。

contract句で宣言されるContractが基本の構成要素です。ContractはJavaやPythonなどオブジェクト指向言語のクラスに似ています。

・文の最後にはセミコロンが付きます。また大文字と小文字は区別します。

1.2.2 データ型と演算子

データ型

Solidityには以下の様なデータ型があります。固定小数点型はまだサポートされていないので使用できません。


bool

bool型はtureとfalseのいずれかの値を取ります。


int

符号あり整数を格納する際に使用します。8~256bitの間で8bit刻みで値の範囲を指定できます。

例:int8, int16, int24, ... , int256。単にintとした場合はint256となります。


uint

符号なし整数を格納する際に使用します。その他はintと同様です。


string

文字列を格納する際に使用します。


address

Ethを保管するお財布(ウォレット)やスマートコントラクトはアドレスと呼ばれる固有の値を持っています。address型はこのアドレスを格納するための型です。


・配列

固定長配列と可変長配列を定義できます。配列にはlengthメソッド(配列の長さを求める)とpushメソッド(配列に要素を追加する)があります。配列の要素は,配列名[インデックス],で取得できます。具体的な使い方は以下のコードを参考にして下さい。

※以下のコードには,関数の修飾子publicview,戻り値の指定returns(uint)を使っていますが,これらについては後程ご説明しますので,分からない方も一旦読み進めて下さい。

・構造体

構造体はstructで宣言します。構造体のメンバは,構造体名.メンバ名,で取得できます。具体的な使い方は以下のコードを参考にして下さい。

演算子

Solidityには以下の様な演算子があります。


・算術演算子

・比較演算子

bool値に評価されます。

・論理演算子

!:論理否定

&&:論理積, and

||:論理和, or

==:等式

!=:不等式


・ビット演算子

&:AND

|:OR

^:XOR

~:NOT

それでは,簡単なスマートコントラクトの実装を通してSolidityに慣れましょう。

議論
0 質問