BSC meme 三明治机器人代码学习
写在前面: 本文是 https://github.com/fuzzland/fourmeme-god.git 的学习笔记 三明治机器人原理有人使用较大的滑点进行交易, 称此交易为 victim tx ,后面简称为 vtx滑点代表的是对价格上升的容忍程度,较大的滑点导致在 vtx 买入代币,并且在 vtx 之后卖出代币的模式变得有利可图三明治机器人构造 buy tx 和 sell tx(可能还有额外的 approve tx,以保证卖出交易的成功),并且将这些交易与原始的 vtx 按照如下顺序排列:[buy tx, vtx, approve tx(optional), sell tx]找一个类似 flashbots 的交易捆绑服务商,将上面的交易 bundle(即上述的 tx 数组) 提交构造一个三明治机器人的主要难点:检测到有利可图的交易、协议在合理的时间范围内构造出利润最大化的 bundle个人感觉第 1 点,尤其对于短暂出现的 alpha 机会, 才是真正的难点。比如本例中的 meme 协议,合并并未开源,如何从一份未开源合约中提取到完成套利机器人的相关信息,是很复杂的.如何完...
BSC meme 三明治机器人代码学习
写在前面: 本文是 https://github.com/fuzzland/fourmeme-god.git 的学习笔记 三明治机器人原理有人使用较大的滑点进行交易, 称此交易为 victim tx ,后面简称为 vtx滑点代表的是对价格上升的容忍程度,较大的滑点导致在 vtx 买入代币,并且在 vtx 之后卖出代币的模式变得有利可图三明治机器人构造 buy tx 和 sell tx(可能还有额外的 approve tx,以保证卖出交易的成功),并且将这些交易与原始的 vtx 按照如下顺序排列:[buy tx, vtx, approve tx(optional), sell tx]找一个类似 flashbots 的交易捆绑服务商,将上面的交易 bundle(即上述的 tx 数组) 提交构造一个三明治机器人的主要难点:检测到有利可图的交易、协议在合理的时间范围内构造出利润最大化的 bundle个人感觉第 1 点,尤其对于短暂出现的 alpha 机会, 才是真正的难点。比如本例中的 meme 协议,合并并未开源,如何从一份未开源合约中提取到完成套利机器人的相关信息,是很复杂的.如何完...
爆改!都是科技与狠活
通过阅读本文你可以学到:如何应用 EIP1167 来低成本的创建大量的代理合约以及其需要注意的点immutable 的妙用所有代码均在代码仓库中 https://github.com/neal-zhu/batcher.git 找到欢迎大家 clone & 玩耍 & star 在文章 https://mirror.xyz/0x3dbb624861C0f62BdE573a33640ca016E4c65Ff7/VoBIa7fC_lNLw6TPutj16KztvnQffDdBOv_A1Z2AxUw 中,我们实现了一个简单的通用型薅羊毛合约。但是在后续的测试过程中发现其有一个致命问题: 一次无法创建大量子合约地址。比如如果我们试图创建 100 个地址,则会报错(即使将 gasLimit 设置为 3000w):子合约太长导致报错这搞毛啊,说好的批量撸羊毛的,100 个地址都做不到,那还怎么玩?好在天无绝人之路,在各个 web3 技术群中发现了一个叫做 mini proxy 的神器,具体文档参考下面链接: https://mirror.xyz/xyyme.eth/mmUAYWFLfcHGCEF...
爆改!都是科技与狠活
通过阅读本文你可以学到:如何应用 EIP1167 来低成本的创建大量的代理合约以及其需要注意的点immutable 的妙用所有代码均在代码仓库中 https://github.com/neal-zhu/batcher.git 找到欢迎大家 clone & 玩耍 & star 在文章 https://mirror.xyz/0x3dbb624861C0f62BdE573a33640ca016E4c65Ff7/VoBIa7fC_lNLw6TPutj16KztvnQffDdBOv_A1Z2AxUw 中,我们实现了一个简单的通用型薅羊毛合约。但是在后续的测试过程中发现其有一个致命问题: 一次无法创建大量子合约地址。比如如果我们试图创建 100 个地址,则会报错(即使将 gasLimit 设置为 3000w):子合约太长导致报错这搞毛啊,说好的批量撸羊毛的,100 个地址都做不到,那还怎么玩?好在天无绝人之路,在各个 web3 技术群中发现了一个叫做 mini proxy 的神器,具体文档参考下面链接: https://mirror.xyz/xyyme.eth/mmUAYWFLfcHGCEF...
简单实现一个通用型薅羊毛合约
通过阅读本文你可以学到:如何实现一个通用的、可复用的薅羊毛合约(仅供参考,本人是 Solidity 菜鸡, 相关代码可以在 <https://github.com/neal-zhu/batcher > 找到)对于一些空投 token,free mint nft 项目,项目方有时候可能会无意(甚至是有意)的给科学家留下发挥的空间。这方面比较出名的有早前的小学生项目 RND,近有最近罕见的热点项目 Xen。这些项目的主要特点是合约代码中未进行 tx.origin == msg.sender 的判断。 有文章 <https://mirror.xyz/hackbot.eth/plbO7co90A6JhKSRSMsstrcP-X8CpfnaRs7k3HI3loY > 中有介绍如何通过运行时创建大量子合约来批量领取大量 RND 代币。主要代码如下:// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; // Uncomment this line to use console.log // import "hardhat/...
简单实现一个通用型薅羊毛合约
通过阅读本文你可以学到:如何实现一个通用的、可复用的薅羊毛合约(仅供参考,本人是 Solidity 菜鸡, 相关代码可以在 <https://github.com/neal-zhu/batcher > 找到)对于一些空投 token,free mint nft 项目,项目方有时候可能会无意(甚至是有意)的给科学家留下发挥的空间。这方面比较出名的有早前的小学生项目 RND,近有最近罕见的热点项目 Xen。这些项目的主要特点是合约代码中未进行 tx.origin == msg.sender 的判断。 有文章 <https://mirror.xyz/hackbot.eth/plbO7co90A6JhKSRSMsstrcP-X8CpfnaRs7k3HI3loY > 中有介绍如何通过运行时创建大量子合约来批量领取大量 RND 代币。主要代码如下:// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; // Uncomment this line to use console.log // import "hardhat/...