Skip to content

rfk1118/Lp_remove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LP 移除工具

一个基于 TypeScript 的命令行工具,用于从 BSC(币安智能链)上的 Uniswap V3 和 PancakeSwap V3 池中移除流动性。

功能特性

  • 交互式命令行界面,方便选择池和管理仓位
  • 支持 Uniswap V3 和 PancakeSwap V3 两个池
  • 高效的 multicall 交易,在一次交易中完成减少流动性和收集代币
  • 使用 ethers.js v6 的 TypeScript 实现

前置要求

  • Node.js(推荐 v16 或更高版本)
  • 带有私钥的 BSC 钱包
  • BSC RPC 节点访问权限
  • 要移除仓位的 LP NFT ID

安装步骤

  1. 克隆仓库:
git clone <repository-url>
cd Lp_remove
  1. 安装依赖:
npm install
  1. 在根目录创建 .env 文件:
cp .env.example .env
  1. .env 中配置环境变量:
PRIVATE_KEY=你的私钥
BSC_RPC_URL=https://bsc-dataseed.binance.org/

使用方法

开发模式

在开发模式下运行工具(支持热重载):

npm run dev

生产模式

  1. 构建项目:
npm run build
  1. 运行编译后的版本:
npm start [NFT_ID]

交互模式

如果不提供 NFT ID 作为命令行参数,工具会交互式地提示你:

  1. 选择池(Uniswap 或 PancakeSwap)
  2. 输入你的仓位 NFT ID

示例:

npm run dev
# 按照提示选择池并输入 NFT ID

命令行模式

你也可以直接提供 NFT ID:

npm run dev -- 12345
# 或在生产环境:
npm start 12345

工作原理

  1. 工具使用配置的 RPC URL 连接到 BSC 网络
  2. 选择要交互的池(Uniswap 或 PancakeSwap)
  3. 输入流动性仓位的 NFT ID
  4. 工具获取仓位详情和当前流动性
  5. 构建一个 multicall 交易,包含:
    • 将流动性减少至零
    • 将所有代币收集回你的钱包
  6. 发送交易并在链上确认

支持的池

  • Uniswap V3: 0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613
  • PancakeSwap V3: 0x46A15B0b27311cedF172AB29E4f4766fbE7F4364

项目结构

Lp_remove/
├── src/
│   ├── index.ts          # 主应用逻辑
│   └── abi/
│       └── pool_abi.json # 池合约 ABI
├── dist/                 # 编译后的 JavaScript(自动生成)
├── .env                  # 环境变量(不纳入 git)
├── package.json          # 项目依赖
├── tsconfig.json         # TypeScript 配置
└── README.md            # 本文件

安全提示

  • 永远不要提交 .env 文件或暴露你的私钥
  • 在与合约交互前务必验证池地址
  • 如果可能,先在测试网用小额测试
  • 工具将 amount0Minamount1Min 设置为 0,这意味着没有滑点保护

依赖项

  • ethers: 用于与智能合约交互的以太坊库
  • dotenv: 从 .env 文件加载环境变量
  • inquirer: 交互式命令行提示
  • typescript: TypeScript 编译器
  • ts-node-dev: 支持热重载的开发服务器

许可证

ISC

故障排除

交易失败

  • 确保你有足够的 BNB 支付 gas 费用
  • 验证 NFT ID 正确且属于你的钱包
  • 检查该仓位仍有流动性可移除

连接问题

  • 验证你的 BSC_RPC_URL 可访问
  • 如果默认节点缓慢或不可用,尝试使用备用 RPC 节点

构建错误

  • 确保使用兼容的 Node.js 版本(v16+)
  • 删除 node_modulespackage-lock.json,然后重新运行 npm install

免责声明

本工具按原样提供,仅用于教育和便利目的。使用风险自负。在签署交易前务必验证,并了解 DeFi 操作涉及的风险。

About

跑路比较快

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •