スマートコントラクトとは何か
1994年からある言葉
ブロックチェーンはステートマシーンのようなもの
別の状態に変わるためにはトランザクションが必要
イーサリアムブロックチェーンはチューリング完全
理論上は全ての計算問題が解ける
EVM言語
Solidity
Viper
from Vitalic
学術的な目的も有する?
LLL
↓
EVM言語にコンパイル??
Solidity
JavaScriptと比較されることが多い
スマートコントラクト開発ではもっとも有名な言語
そもそも
全ての「高級言語」はBytecodeまでコンパイルされる
全てのETHネットワーク内のノードは
すべてのCPがチェーンのコピーを有しているため、中央管理されたサーバにコードを送信して動かしているわけではない。
特徴
クラスをもつ
制御構造があり、様々なデータ型を持つ言語
変数を定義するたびにいく
adressもある(floatはないため、小数点を持たせるときはその範囲を考慮した大きさの整数を用意)