Một tập tin Solidity sẽ có đuôi mở rộng là .sol
và có chứa các thành phần cơ bản như sau:
- SPDX license.
- Version pragma.
- Các định nghĩa struct, contract, hàm, etc.
SPDX License
Là một dòng comment cho biết giấy phép của code. Dòng này có thể có dạng như sau:
// SPDX-License-Identifier: MIT
Version Pragma
Một tập tin Solidity luôn chứa một dòng khai báo version của Solidity compiler.
Chẳng hạn, nếu ta muốn contract cần được biên dịch bằng compiler có version lớn hơn hoặc bằng 0.5.0 và bé hơn 0.6.0 thì ta khai báo như sau:
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0 <0.6.0;
Hoặc khai báo compiler có phiên bản từ 0.8.0 trở về sau:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
Phiên bản trong Solidity được viết theo kiểu Sematic Versioning (SemVer).
Việc khai báo version giúp đảm bảo rằng contract tương thích với compiler vì Solidity là một ngôn ngữ mới và do đó mà compiler của nó liên tục được cập nhật.
Contract
Tất cả code ở trong Solidity đều được đóng gói ở bên trong các contract. Contract là đơn vị cơ bản trong các ứng dụng Ethereum.
Có thể xem contract ở trong Solidity tương tự với một class ở trong OOP. Vì thế, contract cũng sẽ có các thuộc tính và phương thức.
Khai báo contract bằng từ khóa contract
như sau:
contract HelloWorld {
}
Một contract sẽ gồm những thành phần sau:
- State Variables
- Functions
- Function Modifiers
- Events
- Errors
- Structs1
- Enum
Footnotes
-
Xem thêm Solidity - Data Types ↩