lighthouse-pulse/book/src/testnets.md

65 lines
1.9 KiB
Markdown
Raw Normal View History

2019-09-01 01:31:18 +00:00
# Simple Local Testnet
You can setup a local, two-node testnet in **Only Three CLI Commands™**.
Follow the [Quick instructions](#tldr) version if you're confident, or see
[Detailed instructions](#detail) for more.
## Quick instructions
Setup a development environment, build the project and navigate to the
`target/release` directory.
1. Start the first node: `$ ./beacon_node testnet -f recent 8`
1. Start a validator client: **TODO**
1. Start another node `$ ./beacon_node -b 10 testnet -f bootstrap http://localhost:5052`
_Repeat #3 to add more nodes._
## Detailed instructions
First, setup a Lighthouse development environment and navigate to the
`target/release` directory (this is where the binaries are located).
## Starting the Beacon Node
Start a new node (creating a fresh database and configuration in `~/.lighthouse`), using:
```
$ ./beacon_node testnet -f recent 8
```
> The `-f` flag ignores any existing database or configuration, backing them up
before re-initializing. `8` is number of validators with deposits in the
genesis state.
>
> See `$ ./beacon_node testnet recent --help` for more configuration options,
including `minimal`/`mainnet` specification.
## Starting the Validator Client
**TODO**
## Adding another Beacon Node
You may connect another (non-validating) node to your local network using the
lighthouse `bootstrap` command.
In a new terminal terminal, run:
```
$ ./beacon_node -b 10 testnet -r bootstrap http://localhost:5052
```
> The `-b` (or `--port-bump`) increases all the listening TCP/UDP ports of the
new node to `10` higher. Your first node's HTTP server was at TCP `5052` but
this one will be at `5062`.
>
> The `-r` flag creates a new data directory in your home with a random string
appended, to avoid conflicting with any other running node.
>
> The HTTP address is the API of the first node. The new node will download
configuration via HTTP before starting sync via libp2p.