イベント
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 48/53。
イベントは、オフチェーンアプリケーションが監視するためのログエントリを記録します。コントラクトのスコープでイベント名と型付きフィールドを宣言し、その後 emit を使用してログを生成します。イベントは状態変数や practice console とは異なります。
コントラクトのスコープで次のように宣言します。
event Counted(uint256 value);提供されている main 関数内で使用します。
emit Counted(17);
console.log(uint256(17));Counted は 1 つの数値フィールドを持つイベントログを生成します。この演習ランナーでは、コンソール呼び出しによって別途 seventeen が出力されます。イベントログはテキスト出力のテストには含まれないため、正しい演習ではイベントを生成し、要求された値を別途出力する必要があります。
event を使ってイベントを宣言し、emit を使ってそのログを生成します。
チャレンジ
簡単イベント Updated(uint256 value) を宣言します。Updated(amount) を発行し、その後 amount を出力します。
テストは次の順序で main に引数を渡します: uint256 amount。各テストは新しいコントラクト状態で開始されます。
要求された出力には console.log を使用します。要求された値のみを、1 行に 1 つずつ出力し、タスクで指定されていない限り余分なラベルは付けません。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド