尽管require()的使用远远多于assert(),但也有使用assert()的地方。一个例子是OpenZeppelin广泛采用的OpenZeppelin库:
function add(uint256 a, uint256 b) internal pure returns (uint256似乎可以使用require(c >= a)代替assert(c >= a)来实现相同的功能,并提供一个额外的机会来退还未使用的气体。这
经常,我需要对一个贡献模块进行一些黑客操作,以添加一些需要的功能,通常是特定于项目的东西,模块维护人员可能不想使用这些功能。目前,我为每一个黑客创建一个补丁文件,并将所有这样的补丁文件存储在站点/ all /模块中。这样,每当我更新一个模块时,我就可以轻松地重新应用我的黑客并解决任何冲突。
但我忍不住觉得自己做错了什么。