- Developed on Ubuntu 22.04
- Python version 3.12.0
ethereum_transactions_crawler/
│
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── run.py
│ └── templates/
│ ├── index.html
│ └── transaction_detail.html
│
├── tests/
│ ├── __init__.py
│ └── test_main.py
│
├── requirements.txt
├── .env
└── README.md
-
Create a virtual environment in the root directory and activate it
python -m venv venv source venv/bin/activate -
Install requirements
pip install -r requirements.txt -
Create a
.envfile in root directory and in it declare theINFURA_URLenvironment variableINFURA_URL="https://mainnet.infura.io/v3/INFURA_PROJECT_ID"
- Application is started from root directory with:
python app/run.py - You can access the application frontend here
- You can run tests from root directory with:
pytest
- Infura has a rate limit of 10 requests per second on their free plan. This is the biggest bottleneck in the program and can affect the performance of this application. This is especially obvious when retrieving a large amount of blocks.
- The
RATE_LIMITvariable can be found in theapp/main.pyfile and is by default set to 10. If one has a paid Infura account they should change this variable to improve the application performance.