我写了一个智能合约,我想记录当前发送者的地址以及他转的ERC20代币地址和数量信息。
能通过 msg.calldata 解析出来吗? 我现在只能拿到 msg.sender msg.value。
比如:
A 转入 100 USDT 到我这个合约,我想在合约里记录 A 转入了 100 USDT B 转入 50 BABYDOGE ,我的合约就自动记录 B 转入了 50 BABYDOGE
现在,我只能记录他们转进来的ETH,ERC20代币 这块我不会弄。有大神可能帮帮忙吗?我可以发一个小红包 表示感谢
如果是标准的 ERC20 合约, 那目标合约在接收代币时,不会有任何反应,没法做这样的记录。
通常的做法是,让用户先授权, 然后在你的合约用 transferFrom 转账。
针对这个问题, 也有一些改良的代币标准,例如 ERC777 。