Solidity - Cú pháp cơ bản
Tệp nguồn Solidity có thể chứa bất kỳ số lượng định nghĩa hợp đồng, chỉ thị nhập và chỉ thị pragma nào.
Hãy bắt đầu với một tệp nguồn đơn giản của Solidity. Sau đây là một ví dụ về tệp Solidity:
pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
Pragma
Dòng đầu tiên là một chỉ thị pragma cho biết rằng mã nguồn được viết cho phiên bản Solidity 0.4.0 hoặc bất kỳ thứ gì mới hơn không phá vỡ chức năng, nhưng không bao gồm phiên bản 0.6.0.
Chỉ thị pragma luôn là cục bộ cho tệp nguồn và nếu bạn nhập tệp khác, pragma từ tệp đó sẽ không tự động áp dụng cho tệp nhập.
Vì vậy, một pragma cho một tệp sẽ không được biên dịch sớm hơn phiên bản 0.4.0 và nó cũng sẽ không hoạt động trên trình biên dịch bắt đầu từ phiên bản 0.5.0 sẽ được viết như sau:
pragma solidity ^0.4.0;
Ở đây, điều kiện thứ hai được thêm vào bằng cách sử dụng ^.
Hợp đồng
Hợp đồng Solidity là một tập hợp mã (các chức năng của nó) và dữ liệu (trạng thái của nó) nằm tại một địa chỉ cụ thể trên Ethereumblockchain.
Dòng uintstoredData khai báo một biến trạng thái được gọi là ManagedData kiểu uint và các hàm set và get có thể được sử dụng để sửa đổi hoặc truy xuất giá trị của biến.
Nhập tệp
Mặc dù ví dụ trên không có câu lệnh nhập nhưng Solidity hỗ trợ các câu lệnh nhập rất giống với các câu lệnh có sẵn trong JavaScript.
Câu lệnh sau nhập tất cả các ký hiệu chung từ "tên tệp".
import "filename";
Ví dụ sau đây tạo một biểu tượng toàn cầu mới SymbolName có các thành viên là tất cả các biểu tượng chung từ "tên tệp".
import * as symbolName from "filename";
Để nhập tệp x từ cùng thư mục với tệp hiện tại, hãy sử dụng nhập "./x" dưới dạng x ;. Nếu bạn sử dụng nhập "x" là x; thay vào đó, một tệp khác có thể được tham chiếu trong "thư mục bao gồm" toàn cầu.
Từ khóa dành riêng
Sau đây là các từ khóa dành riêng trong Solidity -
trừu tượng | sau | bí danh | ứng dụng |
Tự động | trường hợp | nắm lấy | bản sao của |
mặc định | định nghĩa | sau cùng | bất biến |
dụng cụ | trong | nội tuyến | để cho |
vĩ mô | trận đấu | có thể thay đổi | vô giá trị |
của | ghi đè | một phần | lời hứa |
tài liệu tham khảo | có thể di dời | niêm phong | kích thước |
tĩnh | ủng hộ | công tắc điện | thử |
typedef | loại | không được kiểm tra |