> For the complete documentation index, see [llms.txt](https://learn.qanplatform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.qanplatform.com/developers/qvm-multi-language-smart-contracts/generic-workflow/reading-smart-contract-storage.md).

# Reading smart contract storage

It is easy to read any database field of any contract.

## Read a single field <a href="#read-a-single-field" id="read-a-single-field"></a>

To read a single field execute the following command:

```
docker run --rm qanplatform/qvmctl query $CONTRACT_ADDR $DB_SLOT
```

Make sure you replace `$CONTRACT_ADDR` and `$DB_SLOT` with the right values.

## Read multiple fields <a href="#read-multiple-fields" id="read-multiple-fields"></a>

To read multiple fields execute the following command:

```
docker run --rm qanplatform/qvmctl query $CONTRACT_ADDR $DB_SLOT1,$DB_SLOT2,$DB_SLOTN
```

Make sure you replace `$CONTRACT_ADDR` and `$DB_SLOT{N}` variables with the right values. Also pay attention that DB\_SLOT variable names are separated by a comma and there is no whitespace inbetween.
