Solidity
ERC20.transferFrom 和 IERC20.transferFrom 有什麼區別?
在我的契約中呼叫這些乙太幣做同樣的事情。那有什麼區別呢?
ERC20(tokenAddress).transferFrom(msg.sender, address(this), amount); IERC20(tokenAddress).transferFrom(msg.sender, address(this), amount);
我認為 IERC20 只是介面,所以我必須自己實現該功能。但是兩者都在地址之間轉移令牌。
我可能有記憶體問題,還是他們實際上做同樣的事情?
在這種情況下,它們同樣有效。
但是 ERC20 與 IERC20 的不同之處在於它導入了整個合約 API,而不是公共位。
當您使用 IERC20 時,您意外綁定到自定義功能的可能性為零。這就是為什麼它更好。您的目標是使用更小的界面,這樣可以保持設計更簡潔。