# Run & Query

## 1. Configuration

In the `indexer/modules/custom/uniswap_v3/config.ini` file, configure the protocol information for your specific blockchain. Use the `chainId` as the key.

## 2. Verify ABI

Ensure that the ABI matches the Uniswap V3 protocol you're working with. If it doesn't, update the ABI in the `indexer/modules/custom/uniswap_v3/constants.py` file.

## 3. Indexing Data

To start indexing the data, run the following command:

```bash
python hemera.py stream -pg postgresql://{db_user}:{db_password}@{db_url}:5432/{database} -p {chain_rpc} -s {start_block_number} -e {end_block_number} -o postgres -B 1000 -w 5 -b 100 -E {entity_type}
```

(you can add your {entity\_type} in `enumeration/entity_type.py`)

## 4. Verify Data

### Get Current Holdings for a Wallet Address

First, retrieve all tokenIds held by the wallet\_address, and then fetch the prices for the pools associated with these tokenIds.

API Path: `/v1/aci/<wallet_address>/uniswapv3/current_holding`

### Get First Liquidity Addition Time for a Wallet Address

API Path: `/v1/aci/<wallet_address>/uniswapv3/first_liquidity_time`

### Get the Number of Pools with Liquidity Added or Removed by a Wallet Address

API Path: `/v1/aci/<wallet_address>/uniswapv3/provide_liquidity_pool_count`
