1

Using the same ENV variables, run the feeder with DEPLOYED_CONTRACT initially empty:

docker run -d \
  -e NODE_OPERATOR_NAME= \
  -e PRIVATE_KEY= \
  -e CHAIN_ID= \
  -e DEPLOYED_CONTRACT= \
  -e PUSHGATEWAY_URL= \
  -e PUSHGATEWAY_USER= \
  -e PUSHGATEWAY_PASSWORD= \
  --name decentralized-feeder \
  diadata/decentralized-feeder:<VERSION>
2

Retrieve the logs to get the deployed contract address. See the expected logs here.

docker logs <container_name>
3

Stop the container, update the DEPLOYED_CONTRACT value, and restart:

docker stop <container_name>

docker run -d \
  -e NODE_OPERATOR_NAME= \
  -e PRIVATE_KEY= \
  -e CHAIN_ID= \
  -e DEPLOYED_CONTRACT= \
  -e PUSHGATEWAY_USER= \
  -e PUSHGATEWAY_PASSWORD= \
  -e EXCHANGEPAIRS= \
  --name decentralized-feeder \
  diadata/decentralized-feeder:<VERSION>
4

Retrieve the logs to verify the container is running as expected

docker logs <container_name>

For additional environment variable configurations, refer to Adding Exchange Pairs and Watchdog environment variables.