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

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

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

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

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

获取链上代币兑换汇率。

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

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

以太坊L2网络总锁仓量为56亿美元:金色财经报道,L2BEAT数据显示,截至12月26日,以太坊Layer2上总锁仓量为56亿美元。其中锁仓量最高的为扩容方案Arbitrum,约25.2亿美元,占比44.99%;其次是dYdX,锁仓量为9.63亿美元,占比17.20%;第三为BobaNetwork,锁仓量为5.84亿美元,占比10.42%[2021/12/26 8:05:14]

概念简介

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

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

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

麦子浏览器插件钱包支持以太坊二层扩容方案Optimistic Ethereum:麦子浏览器插件钱包宣布支持以太坊 Layer2 扩容方案 Optimistic Ethereum,用户可通过麦子浏览器插件钱包进行地址创建、浏览 DApp 等操作。Optimistic Rollup 方案采用了 OVM (Optimistic 虚拟机),OVM 是功能完备、与 EVM (以太坊虚拟机)基本兼容的环境。通过 OVM,将 DApp 移植到 Layer2 变得简单,而且也使得项目方无需部署各种 Layer2 扩容方案,而只需接入 OVM,就可以使用其中的各类 Layer2 结构。[2020/11/27 22:19:57]

什么是DEX聚合器?

动态 | 以太坊ERC-1155标准创建成功,混合ERC-20与ERC-721标准:以太坊Github发布消息,以太坊ERC-1155标准创建成功,该标准混 ERC-20与ERC-721标准。据悉,这是一个管理多个代币类型的合约的标准接口。单个已部署的合约可以包括同质代币、非同质代币或其他配置(例如半同质代币)的任何组合。[2019/6/18]

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

什么是ERC20Token?

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

动态 | 基于以太坊的分散应用程序333 ETH被标记为潜在加密庞氏局:据cryptoglobe消息,基于以太坊的分散应用程序333 ETH被标记为潜在的加密庞氏局。333 ETH是在以太坊区块链上开发的一种应用程序,承诺其投资者只要持续持有,每天就会有“3.33%”的回报。正如其它类似的局,333 ETH的开发商声称通过以太坊区块链来保证投资者的终身支付等。State Of The DApps警告说,鉴于合同中的庞式性质和支付实施问题,这个项目可能会出错。[2018/9/16]

什么是套利?

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

在本教程中,我们将套利特指:从一个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:0ms0-0:809ms