我正在尝试使用合同存入,交易/订购,以及从EtherDelta交易所撤回代币和以太币。我的理解是,最好的方法是创建一个ether delta函数的接口,并在我的契约中创建一个真正的EtherDelta实例。我要处理的问题是,假设我将合约存入令牌给EtherDelta,我相信EtherDelta会注意到msg.sender是这些令牌的所有者。我怎么能让合同成为所有者,即使它是在我的合同上调用depositToEtherDelta函数的用户?我试图让合同成为所有者,而不是调用合同函数的人。请帮助,谢谢。
答案 0 :(得分:1)
我猜你混淆了msg.sender et tx.origin tx.origin是调用该函数的用户,但如果您的合同调用EtherDelta合约,则应正确设置msg.sender
顺便说一句,使用tx.origin不是推荐的做法。最好通过函数参数(this关键字)传播原点。