智能合约版抢购机器人测试

前言

距离上次测试视频发布已经过去一周时间,在这一周本人对机器人的购买方式进行了升级,使得速度以及稳定性都有了明显提升。

升级技术细节

第一版 直接调用PancakeRouter接口购买

第一代购买方式,监听到加池子后,脚本直接通过web3调用PancakeRouter的购买接口进行购买。但是txpool的上链速度比合约内部交易慢的多,所以需要进行升级。

也就是 薄饼抢购机器人测试视频_中本灯 Satoshi Light的博客-CSDN博客

这篇文章里使用的购买方式。

 if token['USECUSTOMBASEPAIR'].lower() == 'true':
        transaction = routerContract.functions.swapExactTokensForTokens(
		    '''
        ).buildTransaction({
			'''
        })
    else:
        transaction = routerContract.functions.swapExactETHForTokens(
			'''
        ).buildTransaction({
		    '''
        })

第二版 初代合约购买版本

监听到加池子后,脚本将用于购买的币种传入合约,由合约调用PancakeRouter购买

因为合约在执行购买操作前需要先调用transferFrom从钱包中提币,再调用approve允许pancake从合约中提币,所以对速度有一定影响,此时优化效果还不是很明显。

合约代码如下:

  function swap(address _tokenIn, address _tokenOut, uint256 _amountIn, uint256 _amountOutMin, address _to) external {
    IERC20(_tokenIn).transferFrom(msg.sender, address(this), _amountIn);
    IERC20(_tokenIn).approve(UNISWAP_V2_ROUTER, _amountIn);
    address[] memory path;
    if (_tokenIn == WETH || _tokenOut == WETH) {
      path = new address[](2);
      path[0] = _tokenIn;
      path[1] = _tokenOut;
    } else {
      path = new address[](3);
      path[0] = _tokenIn;
      path[1] = WETH;
      path[2] = _tokenOut;
    }
        IUniswapV2Router(UNISWAP_V2_ROUTER).swapExactTokensForTokens(_amountIn, _amountOutMin, path, _to, block.timestamp);
    }

web3调用代码如下:

 transaction = tokenSwapContract.functions.swap(
	''')

第三版 合约存币版本

在机器人启动监听之前将购买使用的币存入合约并完成approve操作,这样当脚本调用合约的购买函数时可以立即向PancakeRouter发出购买请求而不需要其他操作。

这一版性能有明显提升,在使用公有节点的情况下,可以在加池子的下一区块成功买入(比如1731551加池子,可以在1731552买入),如果使用私有高速节点可以和加池子在同一个区块,但是这样很容易被kill。

全流程测试视频如下:

智能合约版抢购机器人,支持uniswap/pancake等_哔哩哔哩_bilibili提前将用于抢购的币存放于智能合约,脚本监测到添加流动性事件后直接调用合约购买。视频为BSC测试网测试,即将发布主网测试视频。https://www.bilibili.com/video/BV1Y44y1K7tf

智能合约版抢购机器人,支持uniswap/pancake等

题外话:B站上其他的机器人视频我看了很多,没有一个敢放出运行过程和交易tx_hash的,是不是骗子我就不说了。

下一步工作计划

经过调研打算改用第三方的监听pending交易服务

为机器人添加检测貔貅能力

联系方式

vx satoshi_light

tg @zhongbendeng

猜你喜欢

转载自blog.csdn.net/weixin_46883668/article/details/123456444
今日推荐