探索围绕以太坊建立使用去中心化交易所(DEX)开发一个简单的自动交易(套利)机器人。
在本系列教程中,探索围绕以太坊建立使用去中心化交易所(DEX)开发一个简单的自动交易(套利)机器人。
教程中将使用Javascript,Solidity和1inch dex聚合器和闪电贷。
由于主题较多,教程将分为以下几个部分介绍:
本系列文章的目的是学习如何使用DeFi协议(例如DEX和ERC20代币)构建去中心化应用,而不是以暴富为目标哦。
什么是去中心化交易所(DEX)?
这是通过代码运行的兑换。在DEX,无需中间人就可以直接交易加密货币(通过合约交易)。在DEX上,每笔交易通常都写入区块链。
注:在本文中,去中心化交易所将简写为DEX
什么是DEX聚合器?
DEX聚合器是一个平台,它通过在一揽子DEX中,找到在给定时间和数量下,最优的价格来执行兑换交易。
什么是ERC20 Token(代币 or 通证)?
ERC20 是以太坊区块链上的代币标准。 这里有一篇文章介绍如何创建ERC20代币.
什么是套利?
套利,简单的说就是在一个市场上买东西,同时在另一个市场上以更高的价格卖出东西,在短暂的的价格差中获利。
在本教程中,我们将套利特指:从一个DEX购买代币,然后在另一个DEX上以更高的价格出售。
在区块链上,早期主要的套利机会主要来自在去中心化和中心化交易之间套利。
1inch 交易所是一个链上去中心化交易所聚合器,由Anton Bukov和Sergej Kunz 开发,能够在一次交易中实现在多个DEX之间拆分订单,为用户提供最佳兑换汇率。 1inch 智能合约开源在Github,你可以看到如何使用智能合约来寻找交易机会。你还可以在此处访问1inch 网站。
要在1inch上执行代币兑换,步骤很简单:
我们首先需要分析一下1inch exchange智能合约。感兴趣的函数有两个:
它接受交易参数,并将返回你将获得的预期代币数量以及交易如何在DEX上分布。
function getExpectedReturn(
IERC20 fromToken,
IERC20 toToken,
uint256 amount,
uint256 parts,
uint256 disableFlags
) public view
returns(
uint256 returnAmount,
uint256[] memory distribution
);
函数接受5个参数:
函...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!