広告

第9話:ブロックチェーンに記録を残す!「イベント (event)」で何が起きたか通知しよう

第9話:ブロックチェーンに記録を残す!「イベント (event)」で何が起きたか通知しよう

概要

コントラクト内部の「変化」を、どうやって外部のWebサイトに伝えるのか?その答えが、Solidityの「イベント」です。重要な出来事を安価なログとしてブロックチェーンに記録し、フロントエンドへリアルタイムに通知する仕組みを徹底解説。

eventの定義からemitでの放出、indexedによる検索性の向上まで、DAppと外部世界を繋ぐ通信ブリッジの役割を果たす必須技術をマスターします。

目次
Solidity学習講座:最終版 目次(全20話)
Solidity学習講座:最終版 目次(全20話)

基礎編 第1話:未来のインターネットへようこそ!Solidityとスマートコントラクトの全体像 第2話:準備は1分!ブラウザだけで開発できる「Remix IDE」の基本操作 第3話:記念すべき初コント ...

続きを見る

はじめに

第8話で、あなたはstructmappingを組み合わせ、プロフェッショナルなデータ管理術を身につけました。ユーザー情報をきれいに整理し、本格的なアプリケーションのデータ基盤を設計できるようになったのです。

しかし、ここで一つ、根本的な疑問が浮かび上がります。

あなたのregister関数が呼ばれ、新しいユーザーが登録されたとします。その重要な変化は、ブロックチェーンの奥深くで静かに記録されるだけです。あなたのウェブサイトやモバイルアプリといった**「外部のアプリケーション」**は、どうやってその事実を知ればよいのでしょうか? データベースの変更をリアルタイムに検知するように、スマートコントラクトの変化を「購読」する方法はないのでしょうか?

この、スマートコントラクトと外部の世界とを繋ぐ通信ブリッジの役割を果たすのが、今回学ぶ**event(イベント)**です。

イベントは、あなたのコントラクトが発する「狼煙」や「放送」のようなもの。これをマスターすることは、あなたのスマートコントラクトを、単なるバックエンドのロジックから、ユーザーが実際に触れることができる、生き生きとしたフロントエンドを持つ完全なDAppへと昇華させることを意味します。

-Solidity