首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多播与transferFrom

多播与transferFrom
EN

Ethereum用户
提问于 2023-03-27 16:05:59
回答 1查看 129关注 0票数 1

所以我有一个帐户0x1和帐户0x2。他们俩都有。我想用多个事务将令牌发送到0x3。我提供从0x2到0x2的零用钱,=> 0x1可以使用0x2的代币。然后我试着做多项交易:

代码语言:javascript
复制
TransferFrom(0x1, 0xReceiver, 100)
TransferFrom(0x2, 0xReceiver, 100)

但作为交易的结果,我得到了ERC20: insufficient allowance

但是,如果我在0xMall地址中添加允许,那么它就可以正常工作,但在这种情况下,我遇到了安全问题,因为任何人都可以从我的地址进行事务处理并使用我的令牌。在这种情况下,如何正确地制作多个transferFrom?作为事务https://dashboard.tenderly.co/asd123444/project/tx/sepolia/0x180e0bfe794ca9be49506bb95cf6bb770a368fa2ff8611a943442cad4c2c4a57的一个例子

0x9b841f5eb54995f206ab6511b48aac9f6fcec5是https://github.com/mds1/multicall

EN

回答 1

Ethereum用户

回答已采纳

发布于 2023-03-27 22:16:54

简短的回答:如果直接使用EOA,你不能,或者至少不能安全地使用。要做类似的事情,您必须创建自己的合同,授予一个所有者仅限的保护,向其授予补贴,并从您的内部调用Multicall3合同,再次设置备抵,但立即调用multicall,以便在事务完成后津贴被花掉,回到零。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/148040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档