链资讯 链资讯
Ctrl+D收藏链资讯

HTT:MultiSwap:如何用 Solidity 在多个 DEX 中套利_tps币行情

作者:

时间:

译者:翻译小组

校对: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;}

Klaytn关于“销毁74.8亿枚KLAY储备中的52.8亿枚KLAY”提案已开启投票:2月22日消息,Klaytn基金会发布“建立可持续和可验证的KLAY代币经济”的提案,提议立即销毁和移除最初发行储备约74.8亿枚KLAY中过去3年零8个月未使用的52.8亿枚KLAY。如果与Klaytn的治理委员会 (GC) 合作未发现任何用例,将在3年内销毁并停止供应20 亿枚KLAY。

提案称,截至2023年2月,KLAY的总供应量,包括在Klaytn主网启动时的代币生成事件(TGE)期间发行的数量和区块奖励产生的数量,总计约110亿枚KLAY,其中约30.73亿枚KLAY目前正在流通。此次提案是为了确保更可持续的代币经济。考虑到将KLAY确立为通货紧缩资产的长期目标,将继续支持KLAY需求的增长,同时通过实施管理模型来管理KLAY供应,从而提高代币发行的可见性。

该提案已于北京时间今日8点开启投票,投票将于北京时间2月28日10:59:59结束,若通过将于3月1日执行。

此前2月20日消息,Klaytn基金会2月28日将公布修改KLAY代币经济模型和治理模型的提案。[2023/2/22 12:22:20]

我们在Banchor上交易的功能简单明了。从前面例子交易中获得了交易路径和Bancor网络的地址。

2.在Sushi上交易

IUniswapV2Router02privateconstantsushiRouter=IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);addressprivateconstantINJ=0x9108Ab1bb7D054a3C1Cd62329668536f925397e5;function_tradeOnSushi(uint256amountIn,uint256amountOutMin,uint256deadline)private{addressrecipient=address(this);sushiRouter

火币全球专业站关于暂停LSK充值和提币业务的公告:因Lisk(LSK)节点正在调整,火币全球专业站现已暂停LSK充值和提币业务,恢复时间将以公告另行通知。[2018/6/2]

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

4.集合在一个交易里

FEX发布关于上线XVG币种的公告:2018年4月20日上午11:00,FEX平台正式上线币种XVG,同时开放XVG/BTC、XVG/USDT交易对。Verge是基于比特币技术的开源加密货币,采用多重匿名中心网络,实现隐私保护、超快速交易,平均交易确认时间缩短到5秒,易于大规模采购,并为矿工提供公平的货币分配。[2018/4/20]

我们还需要批准SushiSwap合约来使用BNT,批准Uniswap合约来使用INJ。在部署时只做一次会更省力,所以可以把它放在构造函数中:

constructor(){IERC20(BNT)

现在我们有了需要的一切,创建一个multiSwap函数:

functionmultiSwap(uint256deadline,uint256amountOutMinUniswap)externalpayable{uint256amountOutMinBancor=1;uint256amountOutMinSushiSwap=1;_tradeOnBancor(msg

如你所见,现在兑换代币很容易。对于Bancor和SushiSwap,我们不关心我们收到多少代币,所以我们把最小值设为1。唯一重要的是我们在最后一次兑换中收到多少DAI代币。这个值从外部传来,作为UNIX时间戳的最后交易期限也是类似。如果你不关心交易何时执行,可以传递一个很高的截止时间戳。

但是如何获得一个合理的amountOutMinUniswap值呢?为了获得它,我们可以创建第二个函数,只作为视图函数来调用。

Multicoin Capital将为第三个加密风险基金筹集2.5亿美元:金色财经报道,专注于加密的对冲基金Multicoin Capital计划为其第三个针对加密初创公司的风险基金筹集2.5亿美元。Multicoin已在5月份为第二只基金筹集了1亿美元,并计划在2021年底前完成筹款。[2021/10/20 20:41:41]

//meanttobecalledasviewfunctionfunctionmultiSwapPreview()externalpayablereturns(uint256){uint256daiBalanceUserBeforeTrade=IERC20(DAI)

但是请注意,我们没有把它声明为视图函数,因为它使用非视图函数来计算结果,所以不可能将它本身声明为一个视图函数。

我们没有在链上调用这个函数。它仍然是作为一个视图函数来调用的,例如在前端使用Web3的call()功能来读取结果。

现在可以在我们的前端调用multiSwapPreview,为了增加交易不被退回的机会,可以将收到的DAI的估计金额减少一点。

constestimatedDAI=(awaitmyContract.multiSwapPreview({value:ethAmount}).call());constamountOutMinUniswap=estimatedDAI*0.96;

现在我们只需要一笔交易就可以完成整个兑换。

多重兑换ethscan

声音 | MultiVAC CEO :Bakkt消息面已经消化,但长期将影响市场供需和价格:MultiVAC CEO Frank今日发表观点称,Bakkt上线实物交割比特币期货合约事件,消息面上已经基本被消化,短期不会对大盘造成太大影响。但由于其拥有合规的清算、结算、托管流程,并持有相关牌照,将为众多华尔街投资机构打开加密货币的大门。比特币实物交割也将大大增加机构投资者对比特币现货的需求,从而影响市场供需和价格,长远来看,其实质影响将是非常巨大的。[2019/9/8]

你可以在这里找到一个完全可行的交易代码。如果你在测试网掌握了它,就可以在主网上重复这个过程。如果你不想花额外的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

标签:HTTTPSADDREShtt币价格tps币行情DADDYDOGERESET

中币交易所热门资讯
CHA:【Deribit期权市场播报】0904——反复横跳_幸运以太坊币值多少钱

播报数据由Greeks.liveDataLab格致数据实验室和Deribit官网提供。94四周年,主流币均在上涨过程中遇到了明显阻力,比特币50000美元,以太坊4000美元,市场在关键点位反复.

CHA:三分钟了解 Chair,2021 暴富指南请拿好!_AngryBlockchain

拍卖挖矿玩法之下让所有参与用户都能获得拍卖挖矿奖励,让参与拍卖而没有中标的用户获得拍卖分红。错过了比特币以太坊、狗狗币和今年上半年的牛市?没关系!下半年的机会在这里!持币地址27000,覆盖国家.

ESS:CYA-90天定期理财_CAN

尊敬的用户: WBF将于新加坡时间2021年9月3日12:00上线CYA-90天定期理财,详情如下: 活动说明: 1.本次活动APP端认购;2.认购后可在“理财”-“理财记录”中查看详情;3.额.

FTB:关于WBF对FTB重新开盘的公告_htt币被

尊敬的WBF用户: ????因项目方调整,WBF已于2021年9月2日13:20暂停FTB/USDT交易,并对FTB/USDT进行隐藏处理,隐藏期间不展示币对.

ECO:TokenEco与Klein Labs达成深度战略合作_TOK

据官方消息,知名数字资产交易平台TokenEco已与区块链实验室KleinLabs正式达成战略合作关系,双方就优质项目孵化、BaaS服务和品牌推广等方面进行有效合作.

Gate.io合约进阶计划第三期: ADA&AXS交易争霸赛,赢5,000美金(最后一天)

为向合约交易爱好者提供更好的交易服务,Gate.io推出合约进阶计划第三期活动。进阶计划将通过多重奖励与“新人教程”帮助用户成为专业交易者,现在参与合约进阶计划第三期,即有机会赢取5,000美金.