需要一份聪明的合同,把ERC20换成以太,以太换成ERC20。
目标是,你发送以太,你得到erc20,你发送erc20,你得到乙醚。而不必使用web3工具。
我认为实现的唯一方法是使用ERC20本身作为交换契约。
然后,令牌地址必须同时保存以太和它自己的令牌。
这听起来像是很糟糕的练习,还是真的?有什么更好的办法来实现这一点吗?
发布于 2018-02-01 05:11:32
你当然可以把它们结合起来,但我认为有第二份合同更有意义。这样,ERC20令牌契约保持简单,只关注令牌接口。
做销售的合同只需要两个处理令牌合同的功能。在伪码中,忽略错误检查等。
buyTokens():
howMany = msg.value / pricePerToken * 10**decimals
tokenContract.transfer(msg.sender, howMany)
sellTokens(howMany):
// Caller will need to first approve() that many tokens
tokenContract.transferFrom(msg.sender, howMany * 10**decimals)
msg.sender.transfer(howMany * pricePerToken)https://ethereum.stackexchange.com/questions/38171
复制相似问题