在做一锤子的设计时,有关于USDT的场外合约。有想到都是ERC20的代币,规范都一样,也就没有特别去检查USDT的代码。再加上在波场时USDT是有遵循TRC20的规范,所以,对USDT没有特别的设计。结果,自然是悲剧了!USDT无法锁入场外合约!
为了错误,我是检查了半天,WETH 和 DAI都很顺利啊,没出什么幺蛾子,怎么到USDT上就有问题呢?!后来到网上又是查资料,又是翻代码,才知道事情的原委。
原因就是:USDT没有遵循ERC20规范! 我在使用接口时候都是使用transferFrom这个函数,接口是这样的,function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
而在USDT却是没有返回值,导致合约接口错误(应删除returns)!可怜我刚上线的合约,还没用就报废了,那可是近0.2ETH啊!
错误的教训总是惨痛的!只能暂时在一锤子中先行删除USDT相关的部分,先上线运行吧,以后有机会再加吧。
一锤子在波场和以太坊上都已上线,欢迎大家开启交易挖矿:
官网(以太坊版): https://ethc2c.com
官网(波场版): https://tronc2c.com