Menu
CoddyTech

Biến trạng thái

Thuộc phần Nền tảng cơ bản trong hành trình Solidity của Coddy. Bài học 26 trên 53.

Một biến được khai báo bên trong hợp đồng nhưng bên ngoài mọi hàm là biến trạng thái. Các hàm trong hợp đồng đó dùng chung biến này. Một biến cục bộ được khai báo bên trong một hàm thuộc về lần gọi hàm đó. Trên blockchain đã triển khai, các thay đổi trạng thái thành công có thể được giữ lại giữa các giao dịch.

Khai báo biến này ở phạm vi hợp đồng:

uint256 count;

Dùng biến này bên trong hàm main đã cung cấp:

count = 6;
console.log(count);

count được khai báo ở phạm vi hợp đồng và main gán giá trị cho nó. Trình chạy luyện tập này khởi tạo bộ nhớ mới với các giá trị bằng không cho mỗi test case, vì vậy đừng mong test case này tiếp nối test case khác. Trong phần này, hãy khởi tạo trạng thái bằng các phép gán bên trong main, thay vì dùng giá trị khởi tạo trong khai báo hoặc hàm khởi tạo.

Biến trạng thái được khai báo ở phạm vi hợp đồng, bên ngoài phần thân hàm.

challenge icon

Thử thách

Dễ

Khai báo một biến trạng thái visits. Trong main, gán giá trị start được cung cấp cho biến này, gọi hàm trợ giúp nội bộ addVisit để tăng visits lên một, sau đó in ra visits.

Các bài kiểm tra truyền đối số cho main theo thứ tự này: uint256 start. Mỗi bài kiểm tra bắt đầu với trạng thái hợp đồng mới.

Dùng console.log cho đầu ra được yêu cầu. Chỉ in các giá trị được yêu cầu, mỗi giá trị trên một dòng, không thêm nhãn nào trừ khi đề bài yêu cầu.

Tự làm thử

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 start) external  {
        // Viết lời giải của bạn ở đây.
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Playground Solidity