当前位置:   article > 正文

pancakeswap批量抢跑机器_pancakeswap front run bot

pancakeswap front run bot

这个机器人主要是用来在pancakeswap开盘时抢先购买token。

界面图

完整代码是用vue写的,现在先来个学习版的方便小白理解

这个学习版只有单个抢先的功能,完整版在GitHub

核心代码讲解:

  1. const ethers = require('ethers');
  2. const axios=require('axios');
  3. //This contains an Endpoint URL, and a wallet private key!!!
  4. //const secrets = require('./secrets.json');
  5. //THIS WORK ON BSC TESTNET!!!!!
  6. //All Values are for the testnet!!!!!!!!
  7. //这里填WBNB地址
  8. const WBNB = "0xae13d989dac2f0debff460ac112a837c89baa7cd";
  9. //这里填USDT或者BUSD都行
  10. const BUSD = "0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7";
  11. //这里填pancakeswap路由地址
  12. const router = "0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3";
  13. //填合约地址
  14. const DogeAddress='0xF2a816876e12378F67E1Aa88Fc466685d5C16874';
  15. //填节点地址
  16. const provider = new ethers.providers.JsonRpcProvider("https://late-divine-emerald.bsc-testnet.discover.quiknode.pro/5a218dc9c94daf4309ea27ff0a6a3c2013fae4b6");
  17. //填你的私钥
  18. const wallet = new ethers.Wallet("你的私钥");
  19. const signer = wallet.connect(provider);
  20. const routerContract = new ethers.Contract(
  21. router,
  22. [
  23. 'function getAmountsOut(uint amountIn, address[] memory path) public view returns(uint[] memory amounts)',
  24. 'function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)',
  25. 'function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)',
  26. 'function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)',
  27. 'function swapExactETHForTokensSupportingFeeOnTransferTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)',
  28. ],
  29. signer
  30. );
  31. const busdContract = new ethers.Contract(
  32. BUSD,
  33. [
  34. 'function approve(address spender, uint256 amount) external returns (bool)',
  35. 'function balanceOf(address account) external view returns (uint256)'
  36. ],
  37. signer
  38. )
  39. const WBNBContract = new ethers.Contract(
  40. WBNB,
  41. [
  42. 'function approve(address spender, uint256 amount) external returns (bool)'
  43. ],
  44. signer
  45. )
  46. async function main() {
  47. //获取bnb余额
  48. let balance=await provider.getBalance(wallet.address)
  49. const balanceInEth = ethers.utils.formatEther(balance);
  50. console.log(balanceInEth);
  51. // //获取usdt余额
  52. const BUSDamountIn = ethers.utils.parseUnits('0.001', 'ether')
  53. const MaxNum = ethers.utils.parseUnits('1', 'ether')
  54. console.log(BUSDamountIn);
  55. console.log(BUSDamountIn);
  56. let amounts = await routerContract.getAmountsOut(BUSDamountIn, [WBNB, DogeAddress])
  57. const WBNBamountOutMin = amounts[1].sub(amounts[1].div(10));
  58. // console.log(ethers.utils.formatEther(BUSDamountIn));
  59. // console.log(ethers.utils.formatEther(WBNBamountOutMin));
  60. //授权
  61. const approveTx = await WBNBContract.approve(
  62. router,
  63. MaxNum.toString()
  64. );
  65. let reciept = await approveTx.wait();
  66. // console.log(reciept);
  67. //转账
  68. const swapTx = await routerContract.swapExactETHForTokens(
  69. 0,
  70. [WBNB, DogeAddress],
  71. wallet.address,
  72. Date.now() + 1000 * 60 * 10,
  73. {
  74. 'gasLimit': 1000000,
  75. //'value':BUSDamountIn,
  76. 'gasPrice':ethers.utils.parseUnits('10','gwei'),
  77. //'from':wallet.address
  78. value:BUSDamountIn
  79. }
  80. )
  81. receipt = await swapTx.wait();
  82. console.log(receipt);
  83. }
  84. main().then().finally(() => {});

调用swapExactTokensForTokens和swapExactETHForTokens进行转账操作

原vue写的网页完整版在这里:https://github.com/Larsy5/batch_Transfer

觉得不错可以给我点个star

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/900107
推荐阅读
  

闽ICP备14008679号