問題一覧に戻る
中級イベント
問題42: イベントの発行

Solidityでのイベント発行を学習します - スマートコントラクトでイベントをトリガーする方法です。emitキーワードはイベントをブロックチェーンのトランザクションログに記録し、オフチェーンアプリケーションからアクセス可能にします。イベントは状態変更、ユーザーアクション、重要なコントラクト操作について外部システムに通知するために重要です。ストレージ書き込みよりも大幅に安価です。イベント発行は同期的でトランザクション実行中に発生します。適切なイベント発行パターンの理解はレスポンシブなDAppの構築とDeFiプロトコルでの透明性維持に不可欠です。

pragma solidity ^0.8.0;

contract EventEmission {
event Deposit(address user, uint256 amount);
event Withdrawal(address user, uint256 amount);

// 入金イベントを発行
function deposit() public payable {
Deposit(msg.sender, msg.value);
}

// 出金イベントを発行
function withdraw(uint256 amount) public {
(msg.sender, amount);
}
}