Menu
Coddy logo textTech

イベント

CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 48/53。

イベントは、オフチェーンアプリケーションが監視するためのログエントリを記録します。コントラクトのスコープでイベント名と型付きフィールドを宣言し、その後 emit を使用してログを生成します。イベントは状態変数や practice console とは異なります。

コントラクトのスコープで次のように宣言します。

event Counted(uint256 value);

提供されている main 関数内で使用します。

emit Counted(17);
console.log(uint256(17));

Counted は 1 つの数値フィールドを持つイベントログを生成します。この演習ランナーでは、コンソール呼び出しによって別途 seventeen が出力されます。イベントログはテキスト出力のテストには含まれないため、正しい演習ではイベントを生成し、要求された値を別途出力する必要があります。

event を使ってイベントを宣言し、emit を使ってそのログを生成します。

challenge icon

チャレンジ

簡単

イベント 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  {
        // ここに解答を書いてください。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Solidityプレイグラウンド