事件(Event)在整個智能合約開發裡面是很常見也很常出現的應用,所以這篇我們就來說說Event到底該怎麼寫、怎麼應用。
廢話不多說,直接上程式碼:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.11;
contract Event {
//定義event
event Log(address sender, string message);
function transfer() public {
//xxxx做某一件事情
//叫用event,前面都必須加"emit"才行
emit Log(msg.sender, "I send 1 ether to you!");
}
}
上圖是最常用的event,Log記錄,我們來看看實際上會怎麼顯示
發佈之後,會出現function "transfer",按下transfer後,在訊息裡面打開就可以看到Event的Log訊息了。
event主要是用來監聽function的相關動作或是訊息,把它記錄到區塊鏈的記錄當中,可以做為未來查詢之用,也可以做為和web3.js交互之用,這個在後續的篇幅上應該會看到,這邊就只先讓各位了解簡單的event寫法和應用就好,以防說的太多容易混淆。
有什麼想要了解或是不清楚的部份,歡迎留言和我分享,謝謝。 如果喜歡我的文章歡迎追隨,按愛心,我每週都會上新文章。