Zdarzenia
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 48 z 53.
Zdarzenie zapisuje wpis dziennika, który mogą obserwować aplikacje działające poza łańcuchem. Zadeklaruj jego nazwę i pola z określonymi typami na poziomie kontraktu, a następnie użyj emit, aby utworzyć wpis dziennika. Zdarzenia różnią się od zmiennych stanu i konsoli practice.
Zadeklaruj to na poziomie kontraktu:
event Counted(uint256 value);Użyj tego wewnątrz podanej funkcji main:
emit Counted(17);
console.log(uint256(17));Counted generuje dziennik zdarzeń z jednym polem liczbowym. Wywołanie konsoli osobno wyświetla w tym module do wykonywania ćwiczeń liczbę siedemnaście. Dzienniki zdarzeń nie są uwzględniane w testach wyjścia tekstowego, więc poprawne ćwiczenie musi wygenerować zdarzenie i osobno wyświetlić żądaną wartość.
Deklaruj zdarzenia za pomocą event i generuj ich dzienniki za pomocą emit.
Wyzwanie
ŁatwyZadeklaruj zdarzenie Updated(uint256 value). Wyemituj Updated(amount), a następnie wypisz amount.
Testy przekazują argumenty do main w tej kolejności: uint256 amount. Każdy test rozpoczyna się ze świeżym stanem kontraktu.
Użyj console.log dla żądanego wyniku. Wypisz tylko żądane wartości, po jednej w każdym wierszu, bez dodatkowych etykiet, chyba że zadanie określa inaczej.
Spróbuj swoich sił
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// Wpisz tutaj swoje rozwiązanie.
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
10Reguły kontraktów
Wymagane warunkiJawne cofnięciaZdarzeniaWidoczność i prywatnośćAktualizacje z kontrolą2Zmienne i typy
Liczby całkowite bez znakuWejście i wyjścieLiczby całkowite ze znakiemWartości logiczneŁańcuchy znaków w pamięciKarta profilu5Funkcje
Parametry funkcjiZwracanie wartościFunkcje czysteWywołania pomocniczeWielokrotnego użytku obliczeniaPoćwicz samodzielnie: Edytor online Solidity