スマートコントラクト
ブロックチェーンの勉強をしていると、スマートコントラクトという言葉が出てくるのですが、
これがいまいちイメージが湧きにくいです。
スマートコントラクトの例として自動販売機がよく挙げられますが、それでもピンと来ません。
ということで以下のサイトを参考にして、簡単なスマートコントラクトを書いてみました。
https://book.ethereum-jp.net/first_use/contract.html
簡単にいうと、スマートコントラクトというのはオブジェクト指向のクラスのようなもので、クラス変数とメソッドを持っています。
今回はSingleNumRegisterというクラス(コントラクト)を作成しました。
クラス変数は整数値を格納するものが1つ。
メソッドはクラス変数を書き換えるものと読み込むもので2つ。
コントラクトの実行までの流れは以下の通りです。
1.コントラクト・コードの作成
2.コントラクト・コードのコンパイル
3.「Contract」アカウントを作成
4.スマートコントラクトへのアクセスと実行
1~4をやってみると最初よりはスマートコントラクトのイメージが湧いてきました。
例えば、雇用契約をスマートコントラクトで表現するとすれば、
クラス変数には契約内容を格納する変数(String型)と、同意するかどうかの変数(boolean型)を用意し、
メソッドには読み書きできるものを用意すればよいのかなと思いました。
ただ、その場合誰が採掘してくれるのだろうかという疑問は残りました。
スマートコントラクト以外では、
Dappsにも興味があるので、以下のサイトでゾンビと一緒に勉強しようと思います。