Solidity

為什麼使用 SafeMath 庫?

  • May 9, 2018

我讀到,每當您在智能合約的函式中執行算術運算時,都應該使用 SafeMath 庫。使用 SafeMath 庫的原因是什麼?另外,這個庫在算術運算中的優缺點是什麼?

Safemath 庫可用於防止整數運算後的整數範圍上溢或下溢。它非常重要,因為它會影響使用者數據或全球 ERC20 或任何代幣價值。結果,您的令牌將返回意外結果。您無法更新現有契約。

如果您在乙太坊中編寫額外的語句,該語句會消耗氣體進行步驟。即它消耗eth。與優勢相比,這是可以協商的。

優點:如果計算中出現 256 位溢出,則操作將異常中止,並且所有先前狀態(全域)變數的更改都將被還原。

缺點:每次操作的 gas 成本略高。

引用自:https://ethereum.stackexchange.com/questions/47800