Solidity

智能合約中的 ERC20 小數

  • September 4, 2022

我將如何告訴 EVM 和錢包有關小數的資訊?他們會自動從建構子中讀取它嗎???

如此處所述,decimalsERC20 代幣中的 僅用於向使用者表示。EVM 與它無關。辨識 ERC20 代幣並知道代幣有多少位小數(通過呼叫decimals()函式)的錢包可以以更易讀的方式向使用者表示代幣的數量。

你知道 Solidity 不支持浮點數,所以我們用 a 中的uint一些數字來表示浮點數,將它們視為“小數”。

例如,如果您有一個需要允許 2 個小數精度的自定義令牌,那麼您可以將數字表示5.34534Solidity 中的數字,並有一個狀態變數或函式decimals()返回該值2,讓我們知道534實際上有 2 個小數是最後一個,然後我們可以在前端顯示使用者5.34

查看 OpenZeppelinERC20 decimals()函式的文件:https ://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol#L87

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