运行 Perp-maker 脚本以实现自动化做市 — 第二部分

Perpetual Protocol 永续协议
8 min readJun 14, 2022

--

本篇是我们关于如何在 Perpetual Protocol v2 上运行 perp-maker 自动做市机器人的系列教程第二部分。

第一部分 中,我们一起了解了在 Perpetual Protocol v2 上做市的基本内容,自动做市的风险和奖励,以及如何在本地运行一个 bot。 建议在阅读本文之前先完成第一部分的阅读。

下面我们将一起了解如何使用 npm 在 AWS Lambda 服务上运行我们的做市机器人,并向正式网进发,以及给出更多的思路和建议。 如果您是一位经验丰富的工程师,你应该能够直接通过在 我们 Github 上的文档 来设置并运行机器人。

那么让我们直接开始吧!

使用 npm 在 AWS Lambda 上运行

如果你已完成第一部分文章中的内容,你应该能够在本地运行自动做市的 bot 了。 现在,让我们试着把 bot 部署到 AWS Lambda 服务上运行。

AWS Lambda 服务简单来说就是不用自己维护一个服务器,而是在 AWS 上租用一个专用服务器来 24 小时不间断地运行您的程序。 您只需要依据您的程序在该服务器上运行的时间来支付费用,这与我们的需求一致,因为 bot 一般是根据您设置的运行时间而间断或连续工作的。 您可以 观看此视频 以了解更多关于 AWS Lambda 的服务

首先, 您需要注册一个 AWS 帐户并在您的机器上安装 AWS CLI。 前往并查看 各个操作系统的安装说明。

一旦 AWS CLI 安装完毕, 您需要 配置您的 AWS 配置文件在终端 (macOS) 或命令行 (Windows) 输入以下命令:

aws configure

然后您需要输入您的访问 ID 和密码,您可以从 身份和访问管理页面 来创建。

根据您的设置,有时您需要在 AWS 上创建一个新用户来生成密钥。 点击身份和访问管理页面上的用户,然后创建一个拥有管理 Lambda 权限的新用户即可。

接着,您需要在您的 perp-maker 文件夹的 .env 文件中输入您在 AWS 服务上使用的地区。 例如,如果您选择位于新加坡的服务器,请将 AWS_REGION=ap-southest-1 添加到文件中。

至于 .env 文件中的其他变量,请查看本系列的 第一部分 来了解更多信息。

此外,对于 Windows 用户来说,您需要删除你在 index.ts 文件中添加的两行指令。

import dotenv from “dotenv”;
dotenv.config();

好了! 现在您便可以在的终端中输入以下命令来部署机器人到 AWS 了:

npm run build
npm run sls:deploy

如果一切顺利,您应该能够看到以下响应:

一旦你的机器人开始运行,您便可以通过在 AWS 上的 perp-maker-main 的 Lambda 功能看到实时日志,并在监视器选项卡下点击 “View logs in CloudWatch” 以查看日志。

验证其运行是否成功的另一种方法是直接前往目标市场的流动性界面检查前端的情况。 对于测试网 (Optimism Kovan),请访问 testnet.perp. xchange;对于正式网 (Optimism),访问 app.perp.com

在正式网启动

已经迫不及待在正式网运行 bot 了吗? 以下是一些事前准备:

● 您需要在 Optimism 网络拥有一些 USDC。 您可以使用 TransferTo.xyz 将您的 USDC 从另一条链转移到 Optimism。 如果您只在 Binance 或 FTX 这样的中心化交易所上有 USDC 且您只想测试少量金额, 您可以使用 LayerSwap 将 USDC 转移到 Optimism 网络上;如果想要转移超过 5000 USDC 的资金,您可以先将资金发送到 BNB 链或 Avalanche 的 C 链然后使用 TransferTo 将资金最终转移到 Optimism(需要少量的 BNB 或 AVAX 才能支付 Gas)。

● 您需要在 Optimism 网络上有一些 oETH 以支付 Gas 费。 与转移 USDC 一样,您可以使用 TransferTo 或 LayerSwap (用于 CEX) ,具体取决于您想要转移多少 USDC 或 ETH 。 一般来说,Perp v2上的每笔交易成本约为 0.0001ETH,因此甚至 0.5ETH 也可以长期使用。

● 您需要将 .env 文件中的终端更改为正式网网端。

● 您需要将在第一部分中提到的 index.ts 文件中注释掉的两行代码取消注释(去掉双斜线): // process.env[“STAGE”] = “production” and // process.env[“NETWORK”] = “optimism”

更多修改建议

如本文章开头所述,此 bot 只是Perp v2 自动做市机器人的一个模板。 鉴于开源项目的特点,任何人都可以为该 bot 添加或修改功能。 以下是您可以考虑的一些方向:

● 提供单边流动性

目前,机器人仅支持固定价格区间的流动性提供。 Perp v2上的另一种做市方式是只提供单边的流动性,即只在当前市场价格和高于或低于当前市场价格一定程度的区间做市。 提供单边流动性的主要好处是,当价格进入区间后如果又从初始市场价格离开区间, 那么做市商便可在赚取手续费用的同时又不承担任何的无常性损失。 您已经可以通过在 UI 上的 Easy Mode 来提供单边的流动性,或者我们叫它 “Easy LP”。

● 调整区间时逐步关闭仓位

当前设计是当价格超出 LIQUIDITY_ADJUST_THRESHOLD 时,机器人将直接调整流动性分布。 这样做时,它会直接关闭您所有的因无常损失生成的 taker 仓位并因此结算无常损失。 这种办法对小仓位没有什么影响。 然而,如果您的仓位大小相当大,最好是逐步关闭您的仓位,以减少每次交易产生的交易滑点。

● 利用多抵押品的功能

Perp v2 的特点之一是支持 多资产抵押,这意味着用户可以将 ETH、USDC、FRAX (将来还会有更多)作为其仓位的抵押品。 当前模板仅支持 USDC 作为抵押品。 如果使用 ETH 作为抵押品,一个主要好处是,随着 ETH 价格的上涨,您的抵押品价值将会增加,这使您在 ETH 市场做市变得容易,因为虽然您在上涨行情中相当于做空 ETH, 但因为系统是按美元净额结算,因此您不会在做市过程中面临被清算的风险。

以上就是关于如何运行 perp-maker 做市机器人的全部内容!

我们很快将发布另一个关于如何运行 perp-curie-arbitrageur 的教程! 与此同时,欢迎您随时加入我们的Discord,我们 有一个 #coding-chat channel 频道来讨论您在 Perp v2 之上构建代码时遇到的任何问题。

其他相关链接

● 查看您的做市收益和年化率的第三方网站: https://www.seedle.finance/

● Perp v2的做市商模拟器: https://firect-lab.xyz/perpetralsimulator

● Perp v2 的 API 查询: https://thegraph.com/hosted-service/subgraph/perpetral-protocol/perpetration?query=Get%20Trader

● Perp v2上的合约地址: https://metadata.perp.exchange/v2/optimism.json

● Perp v2 文档: https://v2docs.perp.fi/

● 英文原文:https://mirror.xyz/0x071B76df4a05Fb162569930aB82d8d265Bb8A497/Om0vxOZKa3LTp22_fVhzMxrVPZ2blticcdmPzIrjkj4

--

--