译者:翻译小组
校对:Tiny熊
如果你想获得最大的套利,可以需要在一次交易里在DEX(去中心化交易所)之间兑换代币。或者你想定期进行的某些兑换中节省Gas。或者你有在多个DEX之间进行定制的兑换场景,当然,也许你也可以仅仅是学习。
无论你是什么原因,我们试着做一个MultiSwap,MultiSwap将结合多个交易所到一个合约中的进行交易。它看起来像这样:
在Bancor上用ETH购买BNT。
在SushiSwap上卖出BNT换取INJ。
在Uniswap3上卖出INJ换取DAI。
那么,我们如何才能实现这一目标?
套利备忘录
先手动操作
首先,我们想手动尝试所有的交易。由于是测试阶段,我们将在一个测试网上进行,这个测试网需要满足我们想要使用的每个协议部署了合约。在我们的案例中,这刚好是在Ropsten网络。
如果你想交易的代币在测试网上不存在,可以通过Remix自己部署一个。
如果DEX上的代币流动池在测试网上还不存在,那就自己创建一下。
1
function_getPathForBancor()privatepurereturns(addressmemory){addressmemorypath=newaddress(3"]memorypath=newaddress=BANCOR_ETH_ADDRESS;path=BANCOR_ETHBNT_POOL;path=BNT;returnpath;}
Solana生态去中心化保险协议Amulet Protocol已启动测试网:9月7日消息,Solana生态去中心化保险协议Amulet Protocol已启动测试网,用户可在测试的同时完成项目团队提供的任务来获得奖励。Amulet 表示目前正在接受Kudelski的审计,主网计划于月底推出。
此前报道,Amulet Protocol于今年4月底宣布完成了由gumi Cryptos Capital领投的600万美元种子轮融资。[2022/9/7 13:14:26]
我们在Banchor上交易的功能简单明了。从前面例子交易中获得了交易路径和Bancor网络的地址。
2.在Sushi上交易
IUniswapV2Router02privateconstantsushiRouter=IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);addressprivateconstantINJ=0x9108Ab1bb7D054a3C1Cd62329668536f925397e5;function_tradeOnSushi(uint256amountIn,uint256amountOutMin,uint256deadline)private{addressrecipient=address(this);sushiRouter
function_getPathForSushiSwap()privatepurereturns(addressmemory){addressmemorypath=newaddress(2"]memorypath=newaddress=BNT;path=INJ;returnpath;}
然后我们使用swapExactTokensForTokens将BNT兑换到INJ。兑换路径由代币组成。相关的地址可以从前面的交易例子中获得。
3.在Uniswap上交易
IUniswapRouterprivateconstantuniswapRouter=IUniswapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564);addressprivateconstantDAI=0xaD6D458402F60fD3Bd25163575031ACDce07538D;function_tradeOnUniswap(uint256amountIn,uint256amountOutMin,uint256deadline)private{addresstokenIn=INJ;addresstokenOut=DAI;uint24fee=3000;addressrecipient=msg
LayerZero完成600万美元A轮融资,Multicoin和Binance Labs领投:9月16日消息,区块链领域互操作初创公司LayerZero 完成600万美元A轮融资,Multicoin和Binance Labs领投。LayerZero目前正在接受审计,预计将于今年第四季度初推出。LayerZero此前在今年4月份完成200万美元种子轮融资。(CoinDesk)[2021/9/16 23:30:21]
4.集合在一个交易里
我们还需要批准SushiSwap合约来使用BNT,批准Uniswap合约来使用INJ。在部署时只做一次会更省力,所以可以把它放在构造函数中:
constructor(){IERC20(BNT)
现在我们有了需要的一切,创建一个multiSwap函数:
functionmultiSwap(uint256deadline,uint256amountOutMinUniswap)externalpayable{uint256amountOutMinBancor=1;uint256amountOutMinSushiSwap=1;_tradeOnBancor(msg
如你所见,现在兑换代币很容易。对于Bancor和SushiSwap,我们不关心我们收到多少代币,所以我们把最小值设为1。唯一重要的是我们在最后一次兑换中收到多少DAI代币。这个值从外部传来,作为UNIX时间戳的最后交易期限也是类似。如果你不关心交易何时执行,可以传递一个很高的截止时间戳。
Gnosis Safe Multisig钱包上线移动端beta测试版:据官方消息,非托管以太坊钱包Gnosis Safe Multisig宣布上线移动端beta测试版,作为首个移动版本,允许用户添加Safe应用后访问只读功能,未来将计划添加基于移动端的启动和签署交易的功能。[2020/7/29]
但是如何获得一个合理的amountOutMinUniswap值呢?为了获得它,我们可以创建第二个函数,只作为视图函数来调用。
//meanttobecalledasviewfunctionfunctionmultiSwapPreview()externalpayablereturns(uint256){uint256daiBalanceUserBeforeTrade=IERC20(DAI)
但是请注意,我们没有把它声明为视图函数,因为它使用非视图函数来计算结果,所以不可能将它本身声明为一个视图函数。
我们没有在链上调用这个函数。它仍然是作为一个视图函数来调用的,例如在前端使用Web3的call()功能来读取结果。
现在可以在我们的前端调用multiSwapPreview,为了增加交易不被退回的机会,可以将收到的DAI的估计金额减少一点。
Multicoin Capital联合创始人:以太坊当前状态不允许其创建“全球规模的交易系统”:Bitcoinist发文称,由于DeFi的采用迅速增加,以太坊用户的体验在最近几周经历了下降。Messari前主管、股票及加密货币交易员Qiao Wang发推文称:“只要ETH 2.0还没有完全推出,一个高度可扩展的区块链就有机会取代以太坊。支付10美元的交易费用并等待15秒进行结算,这就是糟糕的用户体验。”此外,加密对冲基金Multicoin Capital联合创始人Kyle Samani也谈到了以太坊高额的交易费用和缓慢的交易时间。他表示,以太坊当前的状态不允许其创建“全球规模的交易系统”。[2020/6/29]
constestimatedDAI=(awaitmyContract.multiSwapPreview({value:ethAmount}).call());constamountOutMinUniswap=estimatedDAI*0.96;
现在我们只需要一笔交易就可以完成整个兑换。
多重兑换ethscan
你可以在这里找到一个完全可行的交易代码。如果你在测试网掌握了它,就可以在主网上重复这个过程。如果你不想花额外的ETH进行手工交易,你可以在提交任何东西之前检查交易数据和合约地址,因为你需要改变的就是合约地址。
本翻译由CellETF赞助支持。
来源:https://github.com/lbc-team/Pioneer
参考资料
翻译小组:https://learnblockchain.cn/people/412
Tiny熊:https://learnblockchain.cn/people/15
BNT:https://etherscan.io/token/0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c
INJ:https://etherscan.io/token/0xe28b3b32b6c345a34ff64674606124dd5aceca30
DAI:https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f
Banchor:https://app.bancor.network/eth/swap?from=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&to;=0xF35cCfbcE1228014F66809EDaFCDB836BFE388f5
Etherscan交易:https://ropsten.etherscan.io/tx/0x21b95960b1a7c832c91e705390420edf3faa35b18469a8bc517056d88af9634e
文档:https://docs.bancor.network/developer-quick-start/trading-with-bancor#trading-from-your-smart-contract
SushiSwap:https://app.sushi.com/swap?inputCurrency=0x9108Ab1bb7D054a3C1Cd62329668536f925397e5&outputCurrency;=0xF35cCfbcE1228014F66809EDaFCDB836BFE388f5
Etherscan交易:https://ropsten.etherscan.io/tx/0x727301c32fcdbb29e14203610b26c7ab7f44f5d940057c2c39ecc0ae9e919c0f
这里:https://learnblockchain.cn/article/2580
Uniswap:https://app.uniswap.org/#/swap
Etherscan:https://ropsten.etherscan.io/tx/0xc23e6efa4c95747cb1421b582b1d29ce1ae1a529f84c28a94f74536997358262
交易:https://ropsten.etherscan.io/tx/0x727301c32fcdbb29e14203610b26c7ab7f44f5d940057c2c39ecc0ae9e919c0f
这里:https://learnblockchain.cn/article/2580
swapExactTokensForTokens:https://docs.uniswap.org/protocol/V2/reference/smart-contracts/router-02#swapexacttokensfortokens
视图函数:https://learnblockchain.cn/docs/solidity/contracts.html#view
call():https://web3js.readthedocs.io/en/v1.3.4/web3-eth-contract.html#methods-mymethod-call
一笔交易:https://ropsten.etherscan.io/tx/0xba44787781aac57b462ff7d4a9781506553a4a57e7339070e76eb5ba544394f0
这里:https://gist.github.com/gorgos/14fa5f932fc697fd8aa3c223856fce7b
CellETF:https://celletf.io/?utm_souce=learnblockchain
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
本文来源于非小号媒体平台:
登链社区
现已在非小号资讯平台发布105篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/10318791.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
每周编辑精选WeeklyEditors'Picks
据LedgerInsights消息,9月8日,研究公司Piplsay发布了本月对30,870名美国成年人和9,170名英国成年人开展的一项关于NFT的线上调查报告。报告显示,有18%的美国受调查者购买了NFT,而英国则为5%.
1900/1/1 0:00:00近日,QUATRO生态内的Eswap流动性通证TUBE2,即将上线全球技术顶尖的数字资产交易平台LBank,双方将结合自身的优势达成战略合作关系,强强联合深耕DEFI领域,并全方位赋能QUATRO金融生态.
1900/1/1 0:00:00亲爱的用户:币安Staking平台将于2021年09月08日20:00上线RAY高收益锁仓活动.
1900/1/1 0:00:00据TheBlock9月16日消息,加密货币交易所Bitfinex推出了一个名为BitfinexSecurities的新交易所,允许交易代币化股票和债券.
1900/1/1 0:00:00DeFi已经历经逾一年的井喷式发展。从稳定币板块的Maker,到借贷板块的Compound、Aave,再到DEX板块里的Uniswap,自去中心化金融的概念兴起以来,龙头项目们往往会作为增长引擎,推动相应板块、乃至整个市场节节走高.
1900/1/1 0:00:00为帮助用户更轻松实现数字资产量化交易,Gate.io量化交易中心全面升级,改名“量化跟单”全新上线,功能及页面全面升级。策略分享者正式命名为信号者,信号者被跟单可享受5%无限制复制层级的利润分成.
1900/1/1 0:00:00