# Participate as Validator

## Prerequisite

1. Qualified hardware and network environment
2. Have enough DX

### Hardware

#### Minimal configuration

```
8core
16g
ssd iops>5k
network performance > 10 Gigabit
```

#### Recommendation

```
16core
32g
ssd iops>5k
network-performance > 25 Gigabit
```

### Network and Port

* Public IP
* Open Port TCP/UDP: 32668

## Get DX node Executable

1. [Compile](https://dxchain.gitbook.io/dxchain-wiki/stake-and-trade/develop-on-dxchain/compile-and-run) from source code, or
2. Download from DxChain [Github](https://github.com/DxChainNetwork/dxc/releases)

## Start running the Executable

[Start node](https://dxchain.gitbook.io/dxchain-wiki/stake-and-trade/compile-and-run#run), and make sure the data is updated to the latest block height.

<mark style="color:red;">For asset security concerns, it's not recommended to enable</mark><mark style="color:red;">`--http`</mark> <mark style="color:red;"></mark><mark style="color:red;">service.</mark>

## Create Account

Access the working directory `/directory/of/geth`

```shell
$ ./geth account new --datadir ./data
```

Or,

1. Open the console `./geth attach --datadir ./data`
2. Create account `personal.newAccount('password')`

The `keystore` file of the new account is located in the `data/keystore` folder under the `/directory/of/geth` directory.

## Start Mining

1. Open the console `./geth attach --datadir ./data`
2. Unlock miner account `personal.unlockAccount("miner address","password",0)`
3. Start mining `miner.start()`

## Node Application

1. Make sure there is a sufficient amount of DX to apply for a node
2. Fill the application here: <https://staking-testnet.dxchain.com/apply>
3. Once the application is approved by other nodes, your node is eligible to participate in the election from the next epoch. If the node is selected as a validator, nodes will generate blocks in order. Please keep the nodes mining during this period.
