##可視性修飾子
いつどこで関数を呼び出すかをコントロールするもの
- private:コントラクト内の別の関数からのみ呼び出される
- internal:private修飾子に似ているがそのコントラクトを継承したコントラクトからも呼び出す事ができる。
- external:修飾詞はコントラクト外からだけ呼び出す事ができる
- public:コントラクト内部・外部どちらからでも呼び出せる
##状態修飾子
関数がブロックチェーンとどのように作用し合うのか示してくれるものもある。
- view:関数が動作しても、なんのデータも保存または変更されない
- pure:関数がブロックチェーンにデータを保存しないだけでなく、ブロックチェーンからデータを読み込むこともないと表している
どちらもコントラクト外部から呼び出された場合はガスは必要ない。(But:コントラクト内にある別の関数から呼び出されるとガスが必要となる。)
- modifier:カスタム
修飾詞の関数への影響の仕方を決定するための、カスタムした理論を定義できる。
- payable修飾詞:Etherを受け取ることができる特別なタイプの関数
イーサリアムでは、お金(Ether)もデータ(トランザクションの内容)も、コントラクト・コード自体も全てイーサリアム上にあるから、ファンクション・コール及びお金の支払いが同時に可能。