// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract EarthquakeAlertSystem {
// 定義地震警報事件
event EarthquakeAlert(string message, uint256 magnitude, address indexed issuer);
// 地震警報發布函數
function publishAlert(string memory message, uint256 magnitude) public {
emit EarthquakeAlert(message, magnitude, msg.sender);
}
}
event
用於記錄和通知智能合約中的特定事件。以地震訊息發布演習為例,我們可以創建一個智能合約來管理地震訊息的發布和通知。
首先,我們定義一個EarthquakeAlert
事件,用於記錄地震警報的發布:
EarthquakeAlert
事件用於記錄地震警報的發布。它包含一個訊息、地震強度(magnitude
)和發布者的地址。發布者的地址被標記為索引,以便在監聽事件時更容易搜索和篩選。publishAlert
函數允許發布地震警報,並在發布成功時發出EarthquakeAlert
事件。