The Velora Pool Data Fetcher is a Python-based application designed to retrieve and process data from Uniswap V3 pools. It stores the fetched data in a PostgreSQL database with the TimescaleDB extension for efficient time-series handling. The application is containerized using Docker and includes a CI/CD pipeline for automated testing and deployment.
Before you begin, ensure you have the following installed:
You can run your own Ethereum node locally using the following command:
docker compose up -d geth prysm
Please note that this process may take a significant amount of time to fetch all the necessary data.
If you have an alternative Ethereum node that you’d like to use, you can specify it in your .env
file.
Run PostgreSQL timescale db with docker compose
docker compose up -d timescaledb
If you are already running postgres server, you can specify it in your .env
file.
Clone the repository:
git clone https://github.com/nestlest/velora-pool-data-fetcher.git
cd velora-pool-data-fetcher
Create and configure the .env
file:
Copy the provided .env.example
file and fill in the required environment variables.
cp .env.example .env
Install Virtual Environment It is recommended to use virtual environment.
python3 -m venv venv
source venv/bin/activate
Install Python dependencies:
pip3 install -r requirements.txt
Run the application:
pm2 start --name velora-pool-data-fetcher python main.py
Access the PostgreSQL database:
The database is exposed on the port specified in your .env
file. Use any PostgreSQL client to connect and query the data.
The application uses environment variables for configuration, loaded from the .env
file. Key variables include:
POSTGRES_USER
POSTGRES_PASSWORD
POSTGRES_DB
POSTGRES_HOST
POSTGRES_PORT
ETHEREUM_RPC_NODE_URL
We welcome contributions to improve Velora Pool Data Fetcher! Here's how you can contribute:
Your contributions help us grow! 🌱
This project is licensed under the MIT License. See the LICENSE
file for more details.
For any questions or issues, please open an issue on the GitHub repository.
Join our community if you have any questions: Join Our Velora Channel