Toán học an toàn
Trong hầu hết các ngôn ngữ lập trình hiện đại, tính an toàn trong các phép tính số học được tính đến nên rất ít suy nghĩ về việc thực hiện chúng. Tuy nhiên, trong Solidity, tràn và tràn có nguy cơ bảo mật.
SafeMath
là một thư viện đảm bảo các phép tính số học an toàn bằng cách hoàn nguyên giao dịch nếu vượt quá giới hạn của kiểu dữ liệu số nguyên.
Sản phẩm using
câu lệnh cho trình biên dịch biết rằng hợp đồng đang sử dụng các hàm được xác định trong SafeMath
cho uint
hoạt động. Thay vì sử dụng toán tử số học (+
, -
, *
, /
, %
), sử dụng hàm add()
, sub()
, mul()
, div()
và mod()
.