SafeMath
在大多数现代编程语言中,算术运算的安全性都被考虑在内,因此很少考虑它们的实现。 然而,在 Solidity 中,上溢和下溢存在安全风险。
SafeMath
是一个库,如果超过整数数据类型的界限,则通过恢复事务来确保安全的算术运算。
using
语句向编译器表明合约正在使用定义在 SafeMath
uint
操作。 而不是使用算术运算符 (+
, -
, *
, /
, %
),使用函数 add()
, sub()
, mul()
, div()
及 mod()
.