Tools for exporting Loom blockchain data to CSV or JSON
Project description
Ethereum ETL
Ethereum ETL lets you convert blockchain data into convenient formats like CSVs and relational databases.
Do you just want to query Ethereum data right away? Use the public dataset in BigQuery.
Full documentation available here.
Quickstart
Install Ethereum ETL:
pip3 install ethereum-etl
Export blocks and transactions (Schema, Reference):
> ethereumetl export_blocks_and_transactions --start-block 0 --end-block 500000 \
--blocks-output blocks.csv --transactions-output transactions.csv \
--provider-uri https://mainnet.infura.io/v3/239a1d18eba14f0f9dc1c882de0dc872
Export ERC20 and ERC721 transfers (Schema, Reference):
> ethereumetl export_token_transfers --start-block 0 --end-block 500000 \
--provider-uri file://$HOME/Library/Ethereum/geth.ipc --output token_transfers.csv
Export traces (Schema, Reference):
> ethereumetl export_traces --start-block 0 --end-block 500000 \
--provider-uri file://$HOME/Library/Ethereum/parity.ipc --output traces.csv
Stream blocks, transactions, logs, token_transfers continually to console (Reference):
> pip3 install ethereum-etl[streaming]
> ethereumetl stream --start-block 500000 -e block,transaction,log,token_transfer --log-file log.txt \
--provider-uri https://mainnet.infura.io/v3/239a1d18eba14f0f9dc1c882de0dc872
Find other commands here.
For the latest version, check out the repo and call
> pip3 install -e .
> python3 ethereumetl.py
Useful Links
- Schema
- Command Reference
- Documentation
- Exporting the Blockchain
- Querying in Amazon Athena
- Querying in Google BigQuery
- Querying in Kaggle
- Airflow DAGs
- Postgres ETL
Running Tests
> pip3 install -e .[dev,streaming]
> export ETHEREUM_ETL_RUN_SLOW_TESTS=True
> pytest -vv
Running Tox Tests
> pip3 install tox
> tox
Running in Docker
-
Install Docker https://docs.docker.com/install/
-
Build a docker image
> docker build -t ethereum-etl:latest . > docker image ls
-
Run a container out of the image
> docker run -v $HOME/output:/ethereum-etl/output ethereum-etl:latest export_all -s 0 -e 5499999 -b 100000 -p https://mainnet.infura.io > docker run -v $HOME/output:/ethereum-etl/output ethereum-etl:latest export_all -s 2018-01-01 -e 2018-01-01 -p https://mainnet.infura.io
-
Run streaming to console or Pub/Sub
> docker build -t ethereum-etl:latest -f Dockerfile . > echo "Stream to console" > docker run ethereum-etl:latest stream --start-block 500000 --log-file log.txt > echo "Stream to Pub/Sub" > docker run -v /path_to_credentials_file/:/ethereum-etl/ --env GOOGLE_APPLICATION_CREDENTIALS=/ethereum-etl/credentials_file.json ethereum-etl:latest stream --start-block 500000 --output projects/<your-project>/topics/crypto_ethereum
Projects using Ethereum ETL
- Google - Public BigQuery Ethereum datasets
- Nansen by D5 - Analytics platform for Ethereum
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file loom-etl-1.5.1.tar.gz
.
File metadata
- Download URL: loom-etl-1.5.1.tar.gz
- Upload date:
- Size: 330.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 969e1452cf6db6b30edc4e4d1eaed5f7351ac212ec45c66c965c6fd1c641ce57 |
|
MD5 | b1318057ffdf3436b2480a9e61498b08 |
|
BLAKE2b-256 | 9f049d045550021ba64ad49d9aa77661eaa20982c5001690340a8506f215cf74 |