transferFrom是不是转不了被授权的地址里代币

归集代币

假设:A账号有10000个token代币,B账号没有token代币,C账号也没有token代币!
那么:A账号 委托 B账号 转给C账号 100个token代币 怎么来实现呢?
首先:A账号 和 B账号建立一种委托关联,登录A账户执行approve(b,100)方法结果为:结果:_allowed[A][B] = 100token
然后:在执行登录B账户执行transferFrom(A,C,100),这里的B就是委托账号发送者,gas从B扣,必须确保token数量小于_allowed[A][B]
总结:其实就是A转入C,但是要经过B的账号来发送交易!

我现在就是A->C    在B账户调用,竟然显示地址错误
B->C  调用是没有问题的,B->C可以用transferFrom

转被授权账户A就不行,显示地址错误

image.png

请先 登录 后评论

最佳答案 2022-01-04 08:33

await contract.methods.transferFrom(usrAdrFrom,usrAdrTo,amounts).send({
  from:usrAdrFrom,//这个需要是小狐狸账号,你描述的是切换后,账号不一样了
        gasPrice: gasPrice,
  gas:'100000'
}
请先 登录 后评论

其它 4 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
z1419050586
请先 登录 后评论
z1419050586
请先 登录 后评论
z1419050586
请先 登录 后评论
  • 2 关注
  • 0 收藏,3501 浏览
  • z1419050586 提出于 2022-01-03 22:24