# XDC ETL
XDC ETL lets you convert blockchain data into convenient formats like CSVs and relational databases.
*Do you just want to query XDC data right away? Use the [public dataset in BigQuery](https://console.cloud.google.com/marketplace/details/ethereum/crypto-ethereum-blockchain).*
[Full documentation available here](http://xdc-etl.readthedocs.io/).
## Quickstart
Install XDC ETL:
```bash
pip3 install xdc-etl
```
Export blocks and transactions ([Schema](docs/schema.md#blockscsv), [Reference](docs/commands.md#export_blocks_and_transactions)):
```bash
> xdcetl export_blocks_and_transactions --start-block 0 --end-block 100000 \
--blocks-output blocks.csv --transactions-output transactions.csv \
--provider-uri Https://rpc.XDC.org
```
Export ERC20 and ERC721 transfers ([Schema](docs/schema.md#token_transferscsv), [Reference](docs/commands.md##export_token_transfers)):
```bash
> xdcetl export_token_transfers --start-block 0 --end-block 500000 \
--provider-uri file://$HOME/Library/Ethereum/geth.ipc --output token_transfers.csv
```
Export traces ([Schema](docs/schema.md#tracescsv), [Reference](docs/commands.md#export_traces)):
```bash
> xdcetl 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](docs/commands.md#stream)):
```bash
> pip3 install xdc-etl[streaming]
> xdcetl stream --start-block 500000 -e block,transaction,log,token_transfer --log-file log.txt \
--provider-uri Https://rpc.XDC.org
```
Find other commands [here](https://xdc-etl.readthedocs.io/en/latest/commands/).
For the latest version, check out the repo and call
```bash
> pip3 install -e .
> python3 xdcetl.py
```
## Running Tests
```bash
> pip3 install -e .[dev,streaming]
> export ETHEREUM_ETL_RUN_SLOW_TESTS=True
> export PROVIDER_URL=<your_porvider_uri>
> pytest -vv
```
### Running Tox Tests
```bash
> pip3 install tox
> tox
```
## Running in Docker
1. Install Docker: https://docs.docker.com/get-docker/
2. Build a docker image
> docker build -t xdc-etl:latest .
> docker image ls
3. Run a container out of the image
> docker run -v $HOME/output:/xdc-etl/output xdc-etl:latest export_all -s 0 -e 5499999 -b 100000 -p Https://rpc.XDC.org
> docker run -v $HOME/output:/xdc-etl/output xdc-etl:latest export_all -s 2018-01-01 -e 2018-01-01 -p Https://rpc.XDC.org
4. Run streaming to console or Pub/Sub
> docker build -t xdc-etl:latest .
> echo "Stream to console"
> docker run xdc-etl:latest stream --start-block 500000 --log-file log.txt
> echo "Stream to Pub/Sub"
> docker run -v /path_to_credentials_file/:/xdc-etl/ --env GOOGLE_APPLICATION_CREDENTIALS=/xdc-etl/credentials_file.json xdc-etl:latest stream --start-block 500000 --output projects/<your-project>/topics/crypto_ethereum
If running on Apple M1 chip add the `--platform linux/x86_64` option to the `build` and `run` commands e.g.:
```
docker build --platform linux/x86_64 -t xdc-etl:latest .
docker run --platform linux/x86_64 xdc-etl:latest stream --start-block 500000
```
## Projects using Ethereum ETL
* [Google](https://goo.gl/oY5BCQ) - Public BigQuery Ethereum datasets
* [Nansen](https://nansen.ai/query?ref=xdcetl) - Analytics platform for Ethereum
## Useful Links on Orginal ETH ETL
- [Schema](https://xdc-etl.readthedocs.io/en/latest/schema/)
- [Command Reference](https://xdc-etl.readthedocs.io/en/latest/commands/)
- [Documentation](https://xdc-etl.readthedocs.io/)
- [Public Datasets in BigQuery](https://github.com/blockchain-etl/public-datasets)
- [Exporting the Blockchain](https://xdc-etl.readthedocs.io/en/latest/exporting-the-blockchain/)
- [Querying in Amazon Athena](https://xdc-etl.readthedocs.io/en/latest/amazon-athena/)
- [Querying in Google BigQuery](https://xdc-etl.readthedocs.io/en/latest/google-bigquery/)
- [Querying in Kaggle](https://www.kaggle.com/bigquery/ethereum-blockchain)
- [Airflow DAGs](https://github.com/blockchain-etl/xdc-etl-airflow)
- [Postgres ETL](https://github.com/blockchain-etl/xdc-etl-postgresql)
- [Ethereum 2.0 ETL](https://github.com/blockchain-etl/ethereum2-etl)
Raw data
{
"_id": null,
"home_page": "https://github.com/XDCFoundation/xdc-etl",
"name": "xdcetl",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7.2,<4",
"maintainer_email": "",
"keywords": "xdc",
"author": "Quincy",
"author_email": "quincy@xdc.org",
"download_url": "https://files.pythonhosted.org/packages/eb/fc/6b82d3321111e63472e2bedfe69661c8b418ee7328af0fec8ce0fa47f230/xdcetl-1.0.2.tar.gz",
"platform": null,
"description": "# XDC ETL\n\n\nXDC ETL lets you convert blockchain data into convenient formats like CSVs and relational databases.\n\n*Do you just want to query XDC data right away? Use the [public dataset in BigQuery](https://console.cloud.google.com/marketplace/details/ethereum/crypto-ethereum-blockchain).*\n\n[Full documentation available here](http://xdc-etl.readthedocs.io/).\n\n## Quickstart\n\nInstall XDC ETL:\n\n```bash\npip3 install xdc-etl\n```\n\nExport blocks and transactions ([Schema](docs/schema.md#blockscsv), [Reference](docs/commands.md#export_blocks_and_transactions)):\n\n```bash\n> xdcetl export_blocks_and_transactions --start-block 0 --end-block 100000 \\\n--blocks-output blocks.csv --transactions-output transactions.csv \\\n--provider-uri Https://rpc.XDC.org\n```\n\nExport ERC20 and ERC721 transfers ([Schema](docs/schema.md#token_transferscsv), [Reference](docs/commands.md##export_token_transfers)):\n\n```bash\n> xdcetl export_token_transfers --start-block 0 --end-block 500000 \\\n--provider-uri file://$HOME/Library/Ethereum/geth.ipc --output token_transfers.csv\n```\n\nExport traces ([Schema](docs/schema.md#tracescsv), [Reference](docs/commands.md#export_traces)):\n\n```bash\n> xdcetl export_traces --start-block 0 --end-block 500000 \\\n--provider-uri file://$HOME/Library/Ethereum/parity.ipc --output traces.csv\n```\n\n---\n\nStream blocks, transactions, logs, token_transfers continually to console ([Reference](docs/commands.md#stream)):\n\n```bash\n> pip3 install xdc-etl[streaming]\n> xdcetl stream --start-block 500000 -e block,transaction,log,token_transfer --log-file log.txt \\\n--provider-uri Https://rpc.XDC.org\n```\n\nFind other commands [here](https://xdc-etl.readthedocs.io/en/latest/commands/).\n\nFor the latest version, check out the repo and call \n```bash\n> pip3 install -e . \n> python3 xdcetl.py\n```\n\n\n## Running Tests\n\n```bash\n> pip3 install -e .[dev,streaming]\n> export ETHEREUM_ETL_RUN_SLOW_TESTS=True\n> export PROVIDER_URL=<your_porvider_uri>\n> pytest -vv\n``` \n\n### Running Tox Tests\n\n```bash\n> pip3 install tox\n> tox\n```\n\n## Running in Docker\n\n1. Install Docker: https://docs.docker.com/get-docker/\n\n2. Build a docker image\n \n > docker build -t xdc-etl:latest .\n > docker image ls\n \n3. Run a container out of the image\n\n > docker run -v $HOME/output:/xdc-etl/output xdc-etl:latest export_all -s 0 -e 5499999 -b 100000 -p Https://rpc.XDC.org\n > docker run -v $HOME/output:/xdc-etl/output xdc-etl:latest export_all -s 2018-01-01 -e 2018-01-01 -p Https://rpc.XDC.org\n\n4. Run streaming to console or Pub/Sub\n\n > docker build -t xdc-etl:latest .\n > echo \"Stream to console\"\n > docker run xdc-etl:latest stream --start-block 500000 --log-file log.txt\n > echo \"Stream to Pub/Sub\"\n > docker run -v /path_to_credentials_file/:/xdc-etl/ --env GOOGLE_APPLICATION_CREDENTIALS=/xdc-etl/credentials_file.json xdc-etl:latest stream --start-block 500000 --output projects/<your-project>/topics/crypto_ethereum\n\nIf running on Apple M1 chip add the `--platform linux/x86_64` option to the `build` and `run` commands e.g.:\n\n```\ndocker build --platform linux/x86_64 -t xdc-etl:latest .\ndocker run --platform linux/x86_64 xdc-etl:latest stream --start-block 500000\n```\n\n## Projects using Ethereum ETL\n* [Google](https://goo.gl/oY5BCQ) - Public BigQuery Ethereum datasets\n* [Nansen](https://nansen.ai/query?ref=xdcetl) - Analytics platform for Ethereum\n ## Useful Links on Orginal ETH ETL\n\n- [Schema](https://xdc-etl.readthedocs.io/en/latest/schema/)\n- [Command Reference](https://xdc-etl.readthedocs.io/en/latest/commands/)\n- [Documentation](https://xdc-etl.readthedocs.io/)\n- [Public Datasets in BigQuery](https://github.com/blockchain-etl/public-datasets) \n- [Exporting the Blockchain](https://xdc-etl.readthedocs.io/en/latest/exporting-the-blockchain/)\n- [Querying in Amazon Athena](https://xdc-etl.readthedocs.io/en/latest/amazon-athena/)\n- [Querying in Google BigQuery](https://xdc-etl.readthedocs.io/en/latest/google-bigquery/)\n- [Querying in Kaggle](https://www.kaggle.com/bigquery/ethereum-blockchain)\n- [Airflow DAGs](https://github.com/blockchain-etl/xdc-etl-airflow)\n- [Postgres ETL](https://github.com/blockchain-etl/xdc-etl-postgresql)\n- [Ethereum 2.0 ETL](https://github.com/blockchain-etl/ethereum2-etl)\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Tools for exporting XDC blockchain data to CSV or JSON",
"version": "1.0.2",
"project_urls": {
"Bug Reports": "https://github.com/blockchain-etl/xdc-etl/issues",
"Chat": "https://gitter.im/xdc-etl/Lobby",
"Homepage": "https://github.com/XDCFoundation/xdc-etl",
"Source": "https://github.com/blockchain-etl/xdc-etl"
},
"split_keywords": [
"xdc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ebfc6b82d3321111e63472e2bedfe69661c8b418ee7328af0fec8ce0fa47f230",
"md5": "bd549682e218aec5472f5f8da8b62440",
"sha256": "8e1b4fc546956b2311e0384c99d755509f6d447efd9a49228fb881f24635f519"
},
"downloads": -1,
"filename": "xdcetl-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "bd549682e218aec5472f5f8da8b62440",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7.2,<4",
"size": 340574,
"upload_time": "2023-11-13T05:20:13",
"upload_time_iso_8601": "2023-11-13T05:20:13.580126Z",
"url": "https://files.pythonhosted.org/packages/eb/fc/6b82d3321111e63472e2bedfe69661c8b418ee7328af0fec8ce0fa47f230/xdcetl-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-13 05:20:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "XDCFoundation",
"github_project": "xdc-etl",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "xdcetl"
}