11

在Infura上建立闪电贷套利机器人 #2

 4 years ago
source link: https://learnblockchain.cn/article/2101
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

闪电贷套利机器人

在上一篇文章中我们介绍了我们机器人背后的三个主要概念:套利、基于合约的交易和乐观转账。

在这篇文章中,我们将介绍如何构建一个程序,以观察并执行有利可图的套利交易。

这是我们做的整体流程:

FJV7N3F.png!mobile

1.程序( Bot )正在观察Uniswap和Sushiswap上ETH-Dai配对的价格。

2.当它发现一个有利可图的套利机会时,它就会向我们部署的合约发送一笔交易。

3.在这笔交易中,合约将:

a) 使用闪电兑,乐观地从价格较低的资产池中借入资产。

b) 立即在较高的资产池出售资产。

c) 偿还闪电兑,将差额收入囊中。

让我们一起来实现这些吧!

我们的程序是在Node.js中使用ethers.js库编写的,并与Infura节点相连,套利智能合约是用Solidity 编写。

Infura

我们的后端部分是用Node写的,将使用Infura节点来观察Uniswap和Sushiswap合约上ETH和Dai的价格。 这里会依靠Infura节点来获取主网每个新区块产生的价格。 如果你没有免费的Infura账户,你可以在 这里 注册。

.env 配置

*这是超级重要的!*我们还需要存储我们的私钥来签署主网交易。 我们把所有的敏感信息都放在.env文件中( 查看在repo中的例子 )。 我们还输入了套利合约的地址和Infura主网节点的密钥。

PRIVATE_KEY=
FLASH_LOANER=
INFURA_KEY=

确保 PRIVATE_KEY 与部署 FLASH_LOANER 合约的相同。 另外,与 PRIVATE_KEY 相关联的以太坊账户需要有足够的资金来支付Gas费用,Gas费用可能很高。

如果你不确定我们为什么要这样做, 请阅读这篇优秀的文章,解释如何避免将你的私钥上传到Github 。正如文章所解释的,我们需要将敏感信息放在这个.env文件中,然后我们将其添加到 .gitignore文件中 , 像这样:

.env
yarn.lock
package-lock.json
node_modules

这样,当我们把信息推送到Github时,这个文件就不会被提交。 这是超级,超级重要的!

Ethers.js

我们使用Ethers.js是因为它兼容 Typescript ,Typescript是项目的原始语言。 这对于Ethereum开发者来说是一个老问题了,但是关于ethers.js和web3,js的更多区别, 请看这篇文章

合约实例

接下来,我们在第11行和第12行实例化 Uniswap和Sushiswap合约

// uni/sushiswap ABIs
const UniswapV2Pair = require('./abis/IUniswapV2Pair.json');
const UniswapV2Factory = require('./abis/...

在上一篇文章中我们介绍了我们机器人背后的三个主要概念:套利、基于合约的交易和乐观转账。

在这篇文章中,我们将介绍如何构建一个程序,以观察并执行有利可图的套利交易。

这是我们做的整体流程:

FJV7N3F.png!mobile

1.程序( Bot )正在观察Uniswap和Sushiswap上ETH-Dai配对的价格。

2.当它发现一个有利可图的套利机会时,它就会向我们部署的合约发送一笔交易。

3.在这笔交易中,合约将:

a) 使用闪电兑,乐观地从价格较低的资产池中借入资产。

b) 立即在较高的资产池出售资产。

c) 偿还闪电兑,将差额收入囊中。

让我们一起来实现这些吧!

我们的程序是在Node.js中使用ethers.js库编写的,并与Infura节点相连,套利智能合约是用Solidity 编写。

Infura

我们的后端部分是用Node写的,将使用Infura节点来观察Uniswap和Sushiswap合约上ETH和Dai的价格。 这里会依靠Infura节点来获取主网每个新区块产生的价格。 如果你没有免费的Infura账户,你可以在 这里 注册。

.env 配置

这是超级重要的! 我们还需要存储我们的私钥来签署主网交易。 我们把所有的敏感信息都放在.env文件中( 查看在repo中的例子 )。 我们还输入了套利合约的地址和Infura主网节点的密钥。

PRIVATE_KEY=
FLASH_LOANER=
INFURA_KEY=

确保 PRIVATE_KEY 与部署 FLASH_LOANER 合约的相同。 另外,与 PRIVATE_KEY 相关联的以太坊账户需要有足够的资金来支付Gas费用,Gas费用可能很高。

如果你不确定我们为什么要这样做, 请阅读这篇优秀的文章,解释如何避免将你的私钥上传到Github 。正如文章所解释的,我们需要将敏感信息放在这个.env文件中,然后我们将其添加到 .gitignore文件中 , 像这样:

.env
yarn.lock
package-lock.json
node_modules

这样,当我们把信息推送到Github时,这个文件就不会被提交。 这是超级,超级重要的!

Ethers.js

我们使用Ethers.js是因为它兼容 Typescript ,Typescript是项目的原始语言。 这对于Ethereum开发者来说是一个老问题了,但是关于ethers.js和web3,js的更多区别, 请看这篇文章

合约实例

接下来,我们在第11行和第12行实例化 Uniswap和Sushiswap合约

// uni/sushiswap ABIs
const UniswapV2Pair = require('./abis/IUniswapV2Pair.json');
const UniswapV2Factory = require('./abis/...
mm267vz.png!mobile

剩余50%的内容购买后可查看

  • 发表于 13分钟前
  • 阅读 ( 24 )
  • 学分 ( 82 )
  • 分类:DeFi

Recommend

  • 37

    13 秒套利 36 万美元的「闪电贷」是什么操作?在 DeFi 领域有何新的应用场景? 原文标题:《什么是「闪电贷」?如何利用它在 13 秒内套利 36 万美元?》 撰文:imToken 聪明又狡猾的某人刚刚通过操控 DeFi 贷款...

  • 27
    • learnblockchain.cn 4 years ago
    • Cache

    在Infura上建立闪电贷套利机器人 #1

    在套利系列的第一部分中,会先解释闪电贷和闪电兑背后的基本概念。在第二部分中,将展示如何构建自己的交易机器人,机器人在 Infura 上运行,使用闪电贷观察套利机会并执行获利。 套利是什么? 套利交易其实与闪电贷或区块链...

  • 28

    在前一个教程中,我们介绍了 套利机器人背后的三个主要概念:套利、基于合约的交易和乐观转账。在本文中,我们将逐步介绍如何 利用nodejs和solidity构建套利机器人程序,以...

  • 18

    套利(Arbitrage)、智能合约开发(Contract Coding)和乐观转账(Optimistic Transfer)共同 创造了一个令人印象深刻的新工具组合。这是在公共区块链创新之上构建的创新。两项创新相互融合, 创造了一个真正强大而独特的获利机制。 本教程分为两个部分,在第一...

  • 18

    来源:律动 0x49黑暗森林的故事越来越有意思,猎人在捕杀猎物的同时也是猎物。 最开始,三明治套利机器人猎杀普通用户。随后,三明治套利机器人遭到诱捕,那些自以为是猎人的人也可能是猎物。 4 月 11 日,有用户从三明治套...

  • 8

    首页 > 文章详情 矿工和套利机器人,如何在以太坊网络里进行打劫? 星球日报  3天前 作者:V客柏渊,【区块链思维】主理人

  • 9

    2021 年 08 月 04 日 10:23 AM,慢雾区情报系统捕获到了 Wault.Finance 的 WUSDMaster 合约疑似被黑的情报,慢雾安全团队第一时间介入分析,以下是分析的详细内容。事件相关方信息攻击者地址:...

  • 3

    慢雾:Transit Swap 事件新增 3 个套利机器人及 2 个攻击模仿者,已知被盗损失总计超 2800 万美元  •  4 小时前...

  • 13

    虚拟币搬砖套利机器人是一种自动化交易工具,可以在不同的虚拟货币市场之间进行套利交易。这种机器人的工作原理是,通过监测不同市场的价格差异,自动执行交易操作来赚取利润。 以下是一个虚拟币搬砖套利机器人开发VX and 飞机号telegram【ch3nguang】...

  • 5

    去中心化交易所套利机器人可以通过监测不同交易所之间的价格差异来实现下单交易。 以下是去中心化交易所套利机器人的实现步骤: 1、监测不同交易所之间的价格差异。机器人可以通过监测不同交易所的市场数据,发现价格差异,并计算出套利利润。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK