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

*译文出自:登链翻译计划

*译者:翻译小组

*校对:Tiny熊

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

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

这是我们做的整体流程:

套利交易流程

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文件中,像这样:

.envyarn.lockpackage-lock.jsonnode_modules

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

Ethers.js

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

合约实例

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

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

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

登链社区

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

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

入驻指南:

/apply_guide/

本文网址:

/news/9641880.html

免责声明:

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

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

上一篇:

盘点零知识证明代表性项目:如何影响和塑造区块链生态系统?

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

链链资讯

[0:46ms0-4:345ms