Welcome to the t3rn Executor Setup! This guided process will help you configure your executor with ease, providing step-by-step instructions to ensure a smooth start. Let's get you set up and ready to operate efficiently across multiple blockchain networks.

# Prerequisites

Clone the Executor repository and create a `secrets` directory to store your private keys:

```bash
git clone git@github.com:t3rn/executor.git
cd executor 
mkdir secrets
```

[Install docker](https://docs.docker.com/engine/install/)

## Running Executor

We provide a couple of flavors of the Executor, depending on your needs:
- **Mainnet Tokens**: For managing token transactions on the mainnet.
- **Mainnet Native**: For managing native asset transactions on the mainnet.
- **Mainnet TRN**: For managing transactions involving the t3rn native token on the mainnet.
- **Testnet**: For testing purposes, using the t3rn testnet.

Put your private keys in the `secrets` directory:
```bash
echo "your_private_key_here" > secrets/private-key-mainnet-tokens
echo "your_private_key_here" > secrets/private-key-mainnet-native
echo "your_private_key_here" > secrets/private-key-mainnet-trn
``` 

Run executor:
```bash
docker compose -f docker-compose.mainnet.tokens.yml up
docker compose -f docker-compose.mainnet.native.yml up
docker compose -f docker-compose.mainnet.trn.yml up
```

### Updating Executor

```bash
docker pull ghcr.io/t3rn/executor:latest
```

## Notes

Investigate docker container:  
`docker run -it --platform linux/amd64 --entrypoint /bin/bash ghcr.io/t3rn/executor:latest`
