前端web3入门脚本六:套利夹子机器人,羊毛党必备

这篇具有很好参考价值的文章主要介绍了前端web3入门脚本六:套利夹子机器人,羊毛党必备。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

DEX上有很多零风险套利的机会,包括三角套利,夹子机器人… 今天主要介绍一下架子机器人的思路和简易实现。

二、实现思路

套利原理

  • 夹子机器人的核心:在韭菜买入前以更低价格买入,并再韭菜买入后卖出,赚取差价 / 在韭菜卖出前以更高价格将token卖出 ,并在韭菜卖出后以低价将原token买回。
  • 所谓夹子,就是夹的交易用户,赚取差价。

代码实现思路

  1. 如何知道何时有用户交易? 需要监听链上待打包交易,可用websoket去监听
  2. 链上那么多交易事件,怎么知道哪一笔是我们要的? 筛选交易的 transaction.to / transaction.from 是目标DEX 的 router 合约地址,同时还需要过滤掉我们自己机器人的钱包地址,避免自己夹自己,进入死循环。
  3. 如何做到在用户买前买,卖前卖? 手动设置比用户更高的Gas,让矿工优先去打包我们的交易
  4. 如何区分该笔交易调用的什么方法,我该怎么触发交易去夹它? 用 inteface 去 decode transaction.data,去判断swap的token中是否有原生token,选择不同的合约方法去调用 swapExactETHForTokens / swapTokensForExactTokens

三、代码片段

  1. 创建监听:
const customWsProvider = new ethers.providers.WebSocketProvider(wss);
customWsProvider.on("pending", (tx) => { // todo pending logic })
  1. 在第一步基础上,筛选目标DEX的交易
customWsProvider.on("pending", (tx) => { 
    if (transaction && transaction.to && transaction.to.toLowerCase() === ROUTER.toLowerCase() && transaction.from !== blackAddress) {
		// todo
	}
 })
  1. 判断交易方向,手动设置Gas price,
function calculate_gas_price(action, amount) {
  if (action === "buy") {
    return amount.add(100000000) // 0.1 Gwei
  } else {
    return amount.sub(100000000) // 0.1 Gwei
  }
}
  1. decode 交易方法,决定调用函数:
const iface = new ethers.utils.Interface(abi)
const result = iface.decodeFunctionData('swapExactETHForTokens', transaction.data)

运行结果如下,博主在MojitoSwap上成功测试运行了机器人,并能够获利。
前端web3入门脚本六:套利夹子机器人,羊毛党必备文章来源地址https://www.toymoban.com/news/detail-453421.html

  1. 完整代码: 我的github仓库 欢迎 fork / star / 提 issue,共同探讨更好的方案。 🌞

四、TODO

  • 该脚本目前支持原生代币ETH相关夹子套利,后续支持全币种
  • websocket 监听稳定性优化
  • approve token 流程优化

到了这里,关于前端web3入门脚本六:套利夹子机器人,羊毛党必备的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【区块链】走进web3的世界-对于前端来说,web2与web3的区别

    web3离不开几个概念,智能合约、区块链、前端交互     1、智能合约可以直接与区块链中的区块进行交互;     2、前端通过web3.js/ethers.js等npm库可以和智能合约进行交互; 说的直白点,web3与web2对于前端来说,只是对接的对象发生了变化,从后端API接口改为了智能合约。这

    2023年04月16日
    浏览(49)
  • Web3和区块链入门——Web3历史和Web3是什么?

    大家好,我是无用,今天跟大家聊下Web3历史和Web3什么。 Web3历史 Web3.0一词最初由英国计算机科学家蒂姆·伯纳斯-李(著名的万维网之父)在1998年提出,但是他那个时候所说的Web3.0是自己所提出的语义网络,他认为语义网络是下一代互联网发展的主流方向。 不过我们现在所说

    2024年02月12日
    浏览(63)
  • 前端零基础学习web3开发

    目录 1 钱包 2 发起交易 3 出块 4 块高 5 矿工 6 Gas费  这一节,我们不说让人神往的比特币,不说自己会不会利用这个虚拟的货币来发财,也不说那些模模糊糊的知识,什么去中心化啦,什么奇妙的加密啦,我们就说一说,如果你是一名前端开发人员,某一天来了一个web3项目,

    2024年04月13日
    浏览(39)
  • Web3术语大全(小白轻松入门Web3)建议收藏

    如果你是加密世界的新手,Web3 \\\"术语\\\"或\\\"行话\\\"可能是一个入门障碍,通过本文快速学习 Web3 的基本术语吧,从此告别小白身份,掌握实时热点,把握财富风口 Web3:区别于Web1和Web2,用户创造的数字内容,所有权归用户所有,不依赖中心化平台 元宇宙:整合多种新技术产生的

    2024年02月10日
    浏览(45)
  • 【前端】从零开始读懂Web3

    用心生活,用力向上,微笑前行,就是对生活最好的回馈。  本专栏说明: 主要是记录在分享知识的同时,不定时给大家送书的活动。 参与方式: 赠书数量:本次送书 3 本,评论区抽3位小伙伴送书 活动时间: 截止到 2023-04-20 20:00:00 抽奖方式: 利用程序进行抽奖。 参与方

    2023年04月18日
    浏览(39)
  • 海康摄像头web3.3前端实现

     上篇我发布了一篇文章,有一个刷新页面摄像头就消失的bug,这个代码就是我改过以后得。 直接就放到组件里就行。要是不出来的话,可能是你们插件有问题。可以重新安装一次插件。 template     div class=\\\"chart-box\\\" ref=\\\"chartBox\\\"         div class=\\\"chart-body\\\" ref=\\\"divPlugin\\\" id=\\\"divPlu

    2024年02月20日
    浏览(44)
  • 封装Python脚本:使用企业微信机器人发送消息至企业微信

    官方文档地址:https://developer.work.weixin.qq.com/document/path/91770#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BA 可以通过如下步骤设置企业微信机器人: 首先建立或者进入某个群聊 进入群聊设置页面, 点击“群机器人添加”可添加一个机器人成功 添加成功后,复制并保

    2024年02月09日
    浏览(38)
  • 基础前端使用web3 进行区块链项目开发

    这篇文章不会些区块链的机制算法等一切,只是对前端开发者,如何快速上手进行区块链项目开发做一个简单的引导。 阅读本文之前,需要了解一些简单的区块链知识,能回答以下四个问题就可以阅读本文了。 1、区块链是什么? 2、区块链节点是什么? 3、钱包是什么? 4、

    2024年02月01日
    浏览(56)
  • Web3技术入门向科普

    Web3是指下一代互联网,它基于区块链技术,将各种在线活动更加安全、透明和去中心化。Web3是一个广义的概念,它包括了很多方面,如数字货币、去中心化应用、智能合约等等。在这篇文章中,我们将重点讨论Web3的入门知识,帮助大家更好地了解这个领域。 Web3 —— 中心化

    2024年02月06日
    浏览(51)
  • web3教学-Solidity 入门上手

    步骤大纲 1.Nodejs 2.Solidity编译器,作为npm依赖包 3.Visual Studio Code编译语法的突出显示 4.为开发人员构建的以太坊客户端ethereumjs-testrpc npm install -g solc 然后通过 solcjs-v查看版本 使用vs code进行智能合约的编写 我们打开vs code然后在里面搜索插件Solidity,然后安装 可以在vs终端输入

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包