# ENV Variables

This project using ENV variables to store config in the prod environment.

env var list

```
SECRET_KEY_BASE=ahZc9YkWjt+/QHv1WvZFQAZyDCShIXNzP6HMd1cA6EOOiKV4RYWMXolZ4FEG3nPN
ZCASHD_HOSTNAME=127.0.0.1
ZCASHD_PORT=8232
ZCASHD_USERNAME=user
ZCASHD_PASSWORD=changeme
EXPLORER_HOSTNAME=https://zcashblockexplorer.com
VK_CPUS='0.3'
VK_MEM='1024M'
VK_RUNNER_IMAGE='nighthawkapps/vkrunner'
EXPLORER_SCHEME='https'
```

be sure that you are using a strong  `SECRET_KEY_BASE`

*minimum length needed is 32.*

*you can generate an acceptable secret using ( once you have all the dependencies installed )*

```
mix phx.gen.secret
```

&#x20;`VK_CPUS` and `VK_MEM` control how much CPU and RAM is assigned for an individual Viewing Key Import Job.

`VK_RUNNER_IMAGE` is the Docker image that will be used to run the Viewing Key.

{% hint style="info" %}
If you running the explorer as a Docker container, the Viewing Key Image has to updated to [dind](https://hub.docker.com/_/docker) based image.
{% endhint %}

On non docker based Prod env

you can create  a .env file ( added to .gitignore in this project ) and source it.

example:

```
export SECRET_KEY_BASE=ahZc9YkWjt+/QHv1WvZFQAZyDCShIXNzP6HMd1cA6EOOiKV4RYWMXolZ4FEG3nPN
export ZCASHD_HOSTNAME=127.0.0.1
export ZCASHD_PORT=8232
export ZCASHD_USERNAME=user
export ZCASHD_PASSWORD=changeme
export EXPLORER_HOSTNAME=https://zcashblockexplorer.com
export VK_CPUS='0.3'
export VK_MEM='1024M'
export VK_RUNNER_IMAGE='nighthawkapps/vkrunner'
export EXPLORER_SCHEME='https'
```

`source .env`

in the dev env, you can edit `config/dev.exs` to update the config.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nighthawkapps.gitbook.io/zcash-explorer/about/env-variables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
