以太坊 DEX 的交易与套利:获取汇率(第 1 部分)_CRE:Plenty DeFi

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

在本系列教程中,探索围绕以太坊建立使用去中心化交易所(DEX)开发一个简单的自动交易机器人。

教程中将使用Javascript,Solidity和1inchdex聚合器和闪电贷。

由于主题较多,教程将分为以下几个部分介绍:

获取链上代币兑换汇率。

使用JavaScript和1inchdex聚合器进行兑换。

本系列文章的目的是学习如何使用DeFi协议(例如DEX和ERC20代币)构建去中心化应用,而不是以暴富为目标哦。

概念简介

什么是去中心化交易所(DEX)?

这是通过代码运行的兑换。在DEX,无需中间人就可以直接交易加密货币。在DEX上,每笔交易通常都写入区块链。

注:在本文中,去中心化交易所将简写为DEX

什么是DEX聚合器?

DEX聚合器是一个平台,它通过在一揽子DEX中,找到在给定时间和数量下,最优的价格来执行兑换交易。

什么是ERC20Token?

ERC20是以太坊区块链上的代币标准。这里有一篇文章介绍如何创建ERC20代币.

什么是套利?

套利,简单的说就是在一个市场上买东西,同时在另一个市场上以更高的价格卖出东西,在短暂的的价格差中获利。

在本教程中,我们将套利特指:从一个DEX购买代币,然后在另一个DEX上以更高的价格出售。

在区块链上,早期主要的套利机会主要来自在去中心化和中心化交易之间套利。

关于1inchDEX聚合器

1inch交易所是一个链上去中心化交易所聚合器,由AntonBukov和SergejKunz开发,能够在一次交易中实现在多个DEX之间拆分订单,为用户提供最佳兑换汇率。1inch智能合约开源在Github,你可以看到如何使用智能合约来寻找交易机会。你还可以在此处访问1inch网站。

要在1inch上执行代币兑换,步骤很简单:

根据输入的代币或ETH数量,获得预期可兑换的代币数量。

授权交易所使用你的代币

使用第一步的参数进行交易

我们首先需要分析一下1inchexchange智能合约。感兴趣的函数有两个:

getExpectedReturn()

swap()

获取预期可兑换的多少代币

getExpectedReturn函数不会修改链上状态,只要你连接到区块链网络节点,就可以调用getExpectedReturn()函数,不用支付手续费。你可以web3.js等相关的库来调用智能合约函数。它接受交易参数,并将返回你将获得的预期代币数量以及交易如何在DEX上分布。

functiongetExpectedReturn(IERC20fromToken,IERC20toToken,uint256amount,uint256parts,uint256disableFlags)publicviewreturns(uint256returnAmount,uint256memorydistribution);

函数接受5个参数:

fromToken:当前拥有的代币合约地址。

toToken:要兑换代币合约地址。

amount:兑换所用的代币数量。

parts:期望可切分的份数。检查函数distribution返回值可以获取更多详细信息,默认情况下我们将使用100。

disableFlags:启动额外的选项,例如,禁用特定的DEX

函数有2个返回值:

returnAmount:执行交易后将收到的代币数量。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558542.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-4:956ms