今回はSolidityで特定のタイミングに通知を出す「Event」について解説していきます。
SolidityにおけるEventとは?
Eventは関数にセットすることで、コントラクト上で発生した結果をログに保存したり、フロントに伝えることができるものです。
もちろん引数を渡すことができるので、処理の内容によって出力を変えることが可能です。
indexedとは?
indexedは、Eventのパラメーターに付与することができます。
付与するとパラメーターの名前でなく値でフィルタリングを行うことができるようになります。
先程のサンプルソースの例だと、addressがindexedで定義されているため、あとでEventのデータを閲覧する際に、アドレス単位でフィルタリングをしてデータを確認できるようになります。
indexedを付与しなかった場合、Event単位でしか値を見ることができなくなってしまうので、後のことまでを考えてEventを定義する必要があります。
フロントでの呼び出し
後述します