Skip to content

a6b0x/etl-evm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETL EVM

用于以太坊生态链上数据提取、转换和加载(ETL)。

Uniswap日志数据-->CSV

# 不带参数,默认从配置文件读取,`./data/etl.toml`。
cargo run -- get_uniswapv2_event_csv

# 最小参数集,默认存储在当前文件夹
cargo run -- get_uniswapv2_event_csv \
--http-url "https://reth-ethereum.ithaca.xyz/rpc" \
--router-address "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" \
--from-block 22828657 \
--to-block 22828691 \

# 最全参数集合
cargo run -- get_uniswapv2_event_csv \
--http-url "https://reth-ethereum.ithaca.xyz/rpc" \
--router-address "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" \
--from-block 22828657 \
--to-block 22828691 \
--output-dir "./data"

Uniswap代币事件-->CSV

# 不带参数,默认从配置文件读取,`./data/etl.toml`。
cargo run -- subscribe_uniswapv2_event_csv

# 最小参数集,默认存储在当前文件夹
cargo run -- subscribe_uniswapv2_event_csv \
    --ws-url "wss://reth-ethereum.ithaca.xyz/ws" \
    --pair-address 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc \
    --pair-address 0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11

# 最全参数集合
cargo run -- subscribe_uniswapv2_event_csv \
    --ws-url "wss://reth-ethereum.ithaca.xyz/ws" \
    --pair-address 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc \
    --pair-address 0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11 \
    --output-dir "./data"

提示tls handshake eof就等会再试

Uniswap代币事件-->Tsdb

cargo run -- subscribe_uniswapv2_event_db 

cargo run -- subscribe_uniswapv2_event_db \
    --ws-url "wss://reth-ethereum.ithaca.xyz/ws" \
    --pair-address 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc \
    --pair-address 0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11 \
    --write-url "http://tsdb:8181/api/v3/write_lp?db=evm_uniswap_v2" \
    --auth-token "apiv3_di3lJBckgHFT2cJc5VLkKwsWsVEwI3XZsefjifwwLNR8kruGfhazhZ3tGBvIPZIquaFlbnqHJgTDdaLUFgIzrw"

最新UniSwap工厂创建事件-->MQ

cargo run -- subscribe_uniswapv2_create_mq \
    --ws-url "wss://reth-ethereum.ithaca.xyz/ws" \ 
    --router-address "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" \
    --broker-url "127.0.0.1:9003"

数据存储

Infuxdb(可选)

docker volume create influxdb3_data

docker run -it \
  -v influxdb3_data:/var/lib/influxdb3 \
  influxdb:3-core serve \
  --node-id host01 \
  --object-store file \
  --data-dir /var/lib/influxdb3

数据对接

fluvio(可选)

fluvio cluster start \
--sc-pub-addr 0.0.0.0:9003 

# 列出所有主题
fluvio topic list
# 消费主题
fluvio consume uniswap-v2-pair-created -B -d
# 查看集群工作节点
fluvio cluster spu list

编译

# 在服务器上直接编译 (推荐)
# 编译前,请确保服务器已安装C语言编译工具链,否则会遇到 `linker 'cc' not found` 错误。
# 对于 Debian/Ubuntu 系统:
sudo apt update && sudo apt install build-essential -y
# 对于 CentOS/RHEL 系统:
sudo yum groupinstall "Development Tools" -y

cargo build --release

# 从本地交叉编译 (可选)
# 确定部署服务器的架构
rustc -vV | grep host
rustup target add x86_64-unknown-linux-gnu
cargo build --release --target=x86_64-unknown-linux-gnu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors