如果你已在自己的网站中发行了基于以太坊的代币,但是还没有上交易所,那么,你要如何与其他人交易你的代币呢?
以太币和代币之间的交易可以理解为一个兑换合约,其实质是ICO的思路! 你给他转以太币,他给你转代币,还不就是ICO合约嘛。嗯,赶紧把《ICO合约》翻出来整整。
改造好的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| pragma solidity >=0.4.22 <0.7.0;
interface TokenToExchange { function transfer(address _to, uint256 _value) external returns (bool success); function transferFromOrigin(address _to, uint256 _value) external returns (bool success); }
contract Exchange { TokenToExchange token = TokenToExchange(0x991F313230940ab48f9Ea8B04084FA790B882b53); uint public price = 10000; //1eth=10000lark //给合约转以太币以换取代币 receive() external payable { token.transfer(msg.sender, msg.value * price); } fallback () external payable { } function larkToEth(uint _amount) public payable { token.transferFromOrigin(address(this), _amount); msg.sender.transfer(_amount / price); } function getThis() public view returns(address) { return address(this); } }
|
代码还蛮简洁的,两个简单的函数就可以实现以太币和代币之间的兑换。 这确实是以太坊擅长的事情!
按这个思路进一步下去,只要设定好价格,以太币和任何代币都可以兑换,这不就是去中心化的交易所嘛!所以,基于以太坊,你开发个代币交易所还是很容易的,聪明睿智的你有把握到关键点么!
This page is synchronized from the post: ‘兑换合约 = 交易所? / 学习智能合约#16’