---
# System prepended metadata

title: Run a node and CLI

---

# Run a node and CLI

In this document will be explained how to run a node in Witnet in two different ways and how to get information from them. Option A, using Docker, option B using the witnet-rust repository.

## 1. Run a node

__docker__

```
sudo docker run --name <cotainerName> witnet/witnet-rust latest node server

```

__cargo run__

```
cd witnet-rust
RUST_LOG="witnet=debug" cargo run -- -c witnet.toml node server
```

## 2. Running more than one node

__docker__

Create another container and run the same command as before with the new container name. Run the following to get the containers information
```
docker container ps
```

__cargo run__

Create another configuration file with different ports and db_path and specify it in the running command.

## 3. Command line interface

Thsi section gets the different commands to get node's and requests' information.

### Node balance

__docker__
```
sudo docker exec -i <containerName> ./witnet node getBalance
```
__cargo run__

```
cargo run -- -c witnet.toml node getBalance
```

### Node reputation

__docker__

```
docker exec -i <containerName> ./witnet node getReputation
```

__cargo run__

```
cargo run -- -c witnet.toml node getReputation
```

### Send wits to another node

Suppose we want to send 1000 nanowits to the account with pkh=< address >, then

__docker__

```
docker exec -i <containerName> ./witnet node send --pkh=<address>
--fee=1 --value=1000
```

__cargo run__

```
cargo run -- -c witnet.toml node send --pkh=<address> --value=1000 --fee=1
```

### Get information about a data request (WIP)

From the hexadecimal of a data request we can get information about it.

__docker__

```

```

__cargo run__

```
cargo run -- -c witnet.toml node dataRequestReport <hex>
```
