Contract
Một Contract có thể được tạo ra bên ngoài Ethereum thông qua Transaction hoặc tạo ra bên trong Solidity Contract.
Khi một Contract được tạo thì constructor của nó được thực thi một lần duy nhất. Constructor là không bắt buộc nhưng chỉ có một constructor duy nhất được phép tồn tại và không được hỗ trợ overloading.
Cấu trúc thường gặp của một Contract
pragma solidity >=0.6.0 <0.7.0;
contract UserStorage {
uint private age;
string public firstName;
string public lastName;
constructor() public {
age = 20;
}
function getDate() public view returns (unit) {
return age
}
function getFullName() public view returns (string memory) {
string memory fullName = string(abi.encodePacked(firstName, " ", lastName))
return fullName
}
function setFirstName(string memory newFirstName) public {
firstName = newFirstName;
}
function setFirstName(string memory newLastName) public {
lastName = newLastName;
}
}Đầu tiên là pragma, đây là keyword chỉ định version mà file Solidity này sẽ được compile, tiếp theo là dùng keyword contract để chỉ định ra một Smart Contract
Các thành phần xây dựng nên một contract:
Constructor: có thể có hoặc không và chỉ chạy một lần duy nhất khi Contract được tạo
Variable: gồm có hai loại là Value Types và Reference Types
Last updated
Was this helpful?