# 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`).