Transition
Transitionとは?
Toransition(トランジション)では契約の状態の変化を記述します。
※他の言語で言うFuncitonと捉えて問題ありません。
契約の状態変化に利用するパラメータは引数として宣言します。
Transitionで始まりendで終わります。
transition foo (vname_1 : vtype_1, vname_2 : vtype_2, ...)
...
end
明示的パラメータ
vname : vtype は変数名:型を表し、複数ある場合は,で続けます。
暗黙的パラメータ
Transitionには明示的に宣言するパラメータに加えて、暗黙的に宣言されているパラメータが存在ます。
_sender : ByStr20
_senderはTransitionを発生させたアカウントのアドレスが代入されます。
※これはEthereumのTransactionにおけるCallしたアカウントのアドレスと同意となります。
もしTransitionの発生元がContractの場合は、Contractのアドレスが代入されます。
_amount : Uint128
Transitionの発生元から送られた送金(ZIL)が代入されます。
送金は、Transition内でキーワードacceptを宣言することで受け取りが完了します。
※accept宣言が無い場合は受け取りが行われないため、注意が必要です。