27 个版本 (14 个稳定版本)
新 2.0.1 | 2024 年 8 月 19 日 |
---|---|
2.0.0 | 2024 年 8 月 17 日 |
1.0.11 | 2024 年 8 月 6 日 |
1.0.3 | 2024 年 7 月 31 日 |
0.1.0 | 2024 年 6 月 30 日 |
#34 in 神奇豆子
每月下载量 2,664
在 gweiyser 中使用
1MB
23K SLoC
PoolSync
PoolSync 是一个用于在 EVM 兼容的区块链上从各种协议高效同步 DeFi 池的工具库。这个库简化了池同步的过程,消除了 DeFi 项目中重复的样板代码的需求。
安装
将此添加到您的 Cargo.toml
[dependencies]
pool-sync = "2.0.1"
使用完整节点和归档节点配置您的 .env。归档必须是归档节点。完整节点可以是任意的。
FULL = "full node endpoint"
ARCHIVE = "archive node endpoint"
支持的协议
ETH
- UniswapV2/V3
- SushiswapV2/V2
- PancakeswapV2/V3
- MaverickV1/V2
Base
- UniswapV2/V3
- SushiswapV2/V3
- PancakeswapV2/V3
- BaseswapV2/V3
- MaverickV1/V2
- Aerodrome/Slipstream
- AlienBase
示例用法
use pool_sync::{PoolSync, PoolType, Chain, PoolInfo};
#[tokio::main]
async fn main() -> Result<()> {
// Configure and build the PoolSync instance
let pool_sync = PoolSync::builder()
.add_pool(PoolType::UniswapV2)
.chain(Chain::Ethereum)
.build()?;
// Synchronize pools
let (pools, last_synced_block) = pool_sync.sync_pools().await?;
// Common Info
for pool in &pools {
println!("Pool Address {:?}, Token 0: {:?}, Token 1: {:?}", pool.address(), pool.token0(), pool.token1());
}
println!("Synced {} pools!", pools.len());
Ok(())
}
依赖项
~61MB
~1.5M SLoC