オブジェクト指向のプログラミング言語の場合、クラスのインスタンのライフサイクルは実行するマシンのメモリ上に生成され、他のインスタンスとやり取りして、最後消滅されるが、スマートコントラクトの場合、どうなるかをまとめてみます。
スマートコントラクトのライフサイクル
· 約4分
オブジェクト指向のプログラミング言語の場合、クラスのインスタンのライフサイクルは実行するマシンのメモリ上に生成され、他のインスタンスとやり取りして、最後消滅されるが、スマートコントラクトの場合、どうなるかをまとめてみます。
Solidityのコントラクト周りまとめてみます。
ビットコインのトランザクションは、標準的なトランザクションであり、どのアカウントからどのアカウントにどのぐらい送金する かを記録するだけであり、仮想通貨を目指すビットコインの場合これで十分でした。 イーサリアムの場合は、分散アプリケーションのプラットフォーム を目指して設計されたので、スマートコントラクト作成やスマートコントラクト間のやり取りの為、特別なトランザクションが存在しています。
標準トランザクションを含めて、各トランザクションに渡すパラメータをまとめました。
論理知識ある程度まとめたので、実際にスマートコントラクトを作成したいです。 他の言語もありましたが、Solidityのほうが一番情報多いので、Solidityで進めます。
知っている限りでは、イーサリアムのスマートコントラクトのトリガーとして考えられるのは
ぐらいしかない。
そうでしたら、よく言われている指定の日時になったら、残高をAアカウントに送金する ようなことをどう実現できるかを考えてみます。
「2017/12/01 00:00にアドレスAに10 ETHを送信する」ことを課題とします。
イーサリアムのブロック構造と合意するアルゴリズム - Qiita ではブロック構造を調べてみたが、下記の2つは疑問でした。
receipts_root: ???
logs_bloom: ???
昨日 イーサリアムのブロック構造と合意するアルゴリズム - Qiita でイーサリアムのブロックについて調べましたが、トランザクションと関係ある state_root
とか receipts_root
とか、分かっないので、今日トランザクション周りを調べてみます。
+/- 1/2024(0.0976%)
範囲で調整できる6,706,546
GAS(https://ethstats.net/)