Solidityの基本的な文法まとめ
はじめに
今日は、Solidityの基本的な文法を一通り紹介していきたいと思います。
とはいえ、繰り返しですが、僕がブログに書く事なんて、Crypto Zombies の足下にも及ばないですからね!
こんなブログを読んでる暇があったら、 Crypto Zombies をやろう!(笑)
Version Pragma
コンパイラのバージョン指定を行います。指定されたバージョン以外のコンパイラではコンパイルされない事を保証します。
つまり、指定しなくても動きます。(たぶん)
上の例では、「0.4.24以上、0.5未満のコンパイラで、どうぞよろしく!」という意味ですね。
バージョンの幅の指定方法は、まあ、おなじみの記法になっております。
Import
上記の例は、対象のファイルをそのまま丸ごと取り込むようなイメージです。
ES6よろしくな import
記法もサポートされていて、状況に合わせて様々なインポート方法を選ぶことができるみたいです。
ファイルのパスは、相対パスと絶対パスの違いがあるらしいけど、まあ、そこはいい感じに雰囲気で指定してほしい。
Contract
そもそも、「Contract
って何よ?」って話だと思いますが、他言語で言うところの、Class
であるとか Interface
であるとかを足して2で割ったくらいのイメージでいいと思います。難しい事は考えない主義で!
State Valiables
Contract直下の変数は、基本的にはすべてブロックチェーンに記録されるようです。
また、Solidityは静的な型付け言語のため、変数の定義時に必ず型の指定が必要です。
Function
まあ、みんながよく知る関数ですね。注意点としては、「アクセス修飾子は後ろに書く」という事でしょうか。後述しますが、Solidityでは、関数の修飾子は全て後ろに並べます。
Modifier
Solidityでは、関数の修飾子を自分で定義する事ができるようになっています。
「修飾子」っていうのは、関数の実行の前後に処理を差し込んで、関数の挙動を制御するためのものです。
Struct
変哲もない構造体やな!
Enum
列挙型ですな。
さいごに
一通り、Solidityの基本的な文法に関してまとめてみました。
今回 Event
に関してはタッチしなかったのですが、別の記事で切り出して解説をしたいなあと思っています。
あと、変数の型に関しても、ブロックチェーン特有の型があるので、別記事で紹介させてください。