Ether Units
Có một số đơn vị giúp thể hiện các mệnh giá của Ether ở trong Solidity: wei
, gwei
và ether
. Nếu sử dụng một số thông thường mà không có đơn vị thì mặc định số đó sẽ có đơn vị là wei
.
Ví dụ:
assert(1 wei == 1);
assert(1 gwei == 1e9);
assert(1 ether == 1e18);
Về bản chất, đơn vị gwei
và ether
chỉ đơn giản là các lũy thừa của 10.
Time Units
Trong Solidity có một số đơn vị thời gian chẳng hạn như seconds
, minutes
, hours
, days
, weeks
và years
. Tất cả các đơn vị này có thể quy đổi thành giây và có thể được lưu bằng kiểu dữ liệu uint
.
Ví dụ minh họa sử dụng đơn vị thời gian:
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract Time {
uint registrationDeadline = block.timestamp + 1 weeks;
function registerVoter(address voter) public view {
require(block.timestamp <= registrationDeadline, “registration deadline has passed.”);
// Register the Voter....
}
}
Giá trị của block.timestamp
chính là thời điểm lúc deploy/thực thi contract.