> ## Documentation Index
> Fetch the complete documentation index at: https://rexrex.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Install Rex, start a Reth dev node, and inspect its txpool and database.

This guide starts a local Reth dev node with the namespaces used by Rex, then inspects its txpool and local database.

## Install

First, clone the repo:

```sh theme={null}
git clone https://github.com/abhi3700/rex.git
```

From the repository root:

```sh theme={null}
cargo install --path crates/rex-cli
```

Reinstall after local changes:

```sh theme={null}
cargo install --path crates/rex-cli --force
```

## Start a Reth Dev Node

Expose the HTTP RPC namespaces used across the current Rex modules:

```sh theme={null}
reth node \
  --dev \
  --http \
  --http.api eth,net,web3,txpool,debug,admin \
  --datadir ./alice
```

Each `--http.api` argument enables a separate JSON-RPC method family:

* `eth`: standard Ethereum data and execution methods used by [Chain](/docs/chain), [Execution Simulate](/docs/execution/simulate), and the on-chain nonce lookups in [TxPool Sender](/docs/txpool/sender) and [Nonce Gaps](/docs/txpool/nonce-gaps).
* `net`: listening state, peer count, and network ID used by [Network Status](/docs/network/status).
* `web3`: common client metadata methods such as `web3_clientVersion`. Rex does not currently call this namespace, so it is optional for Rex commands.
* `txpool`: pending and queued transaction data used by the [TxPool commands](/docs/txpool).
* `debug`: transaction and block tracing used by [Replay Tx](/docs/execution/replay-tx) and [State Diff](/docs/execution/state-diff).
* `admin`: node identity and established peer details used by [Network Node](/docs/network/node) and [Network Peers](/docs/network/peers).

You can omit a namespace when you do not need its related commands. This quickstart's `rex txpool inspect` command only requires `txpool`.

<Warning>
  The `admin` namespace also includes methods that can change the node's peer set. Keep this HTTP endpoint bound to localhost or another trusted interface. Rex only uses the read-only `admin_nodeInfo` and `admin_peers` methods.
</Warning>

The [Engine commands](/docs/engine) are not enabled through `--http.api`. They use Reth's separate authenticated Engine API endpoint, which defaults to `http://127.0.0.1:8551`.

## Inspect the Pool

In another terminal, run Rex without an RPC flag. It connects to the local
execution RPC endpoint at `http://127.0.0.1:8545` by default:

```sh theme={null}
rex txpool inspect
```

An empty dev pool returns:

```text theme={null}
TXPOOL REPORT

Pending: 0
Queued:  0
Total:   0

No transactions in the pool.
```

Continue with [Inspect the TxPool](/docs/txpool/inspect) to create a queued transaction and inspect it.

## Inspect the Database

Database commands do not use JSON-RPC or any `--http.api` namespace. Point Rex at the same chain-specific data directory passed to Reth:

```sh theme={null}
rex db --datadir ./alice info
```

Rex opens `./alice/db` through Reth's read-only MDBX API and separately measures files under `./alice/static_files`. It does not create tables, migrate schemas, or write data.

Continue with the [Database guide](/docs/db) to inspect individual tables or check schema compatibility.

## Reset the Dev Database

To restart with a fresh dev database:

```sh theme={null}
reth db --datadir ./alice --chain dev drop
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.