# Spin up your own Witnet testnet in 1 minute
###### tags: `witnet`, `tutorial`, `testnet`
In this tutorial, we will discover how to spin up your own Witnet testnet network with 4 local nodes.
If you want to run your own Witnet node in mainnet, this is not the place for you. Please visit the official [Witnet documentation](https://docs.witnet.io/) or go directly to our [*Try to run a Node*](https://docs.witnet.io/try/run-a-node/) section.
**Warning**: This tutorial is intended to be used ONLY FOR TESTING PURPOSES, as it contains *hardcoded* private keys for setting up the nodes.
## Requirements
Most of the instructions were run in Linux but they should work in other Unix-liked operating systems (e.g. macOS) if the following requirements are available:
- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/)
## Instructions
Download and execute the [`setup.sh`](https://gist.github.com/mariocao/9172ebde680db05028bca6dc8ab79822#file-setup-sh) script:
```shell
$ wget https://gist.githubusercontent.com/mariocao/9172ebde680db05028bca6dc8ab79822/raw/setup.sh -O - | sh
```
The `setup.sh` will create the private keys and download the configuration files for running the testnet:
- `key<1-4>`: private key in `xprv` format for each node.
- `genesis_empty.json`: an empty genesis block file.
- `docker-compose.yaml`: recipe for deploying 4 Witnet testnet nodes.
- `clean.sh`: tool for removing containers (if they have been stopped) and the docker network called `witnet_testnet`.
Now, you can spin up your Witnet testnet by simply using the `docker-compose` tool as:
```shell
$ docker-compose up
```
To stop the containers, just click `ctrl+c`. :)
Optionally, you could also run the containers in detached mode by adding a flag `-d`. More information about how `docker-compose` works can be found [here](https://docs.docker.com/compose/gettingstarted/).
## How can I interact with the nodes?
Analogously to the [*Next Steps*](https://docs.witnet.io/try/next-steps/) section of the documentation, you can interact with the node by using the created Docker containers.
For example, to check the progress of the first node:
```shell
$ docker exec testnet_node1 witnet node nodeStats
```
Additionally, the first created container, `testnet_node1`, will be exposing different ports for the JSON-RPC interfaces of the node (port `21337`) and the Sheikah's wallet middleware (ports `21338` and `11212`).