mirror of
https://gitlab.com/pulsechaincom/lighthouse-pulse.git
synced 2025-01-17 17:28:46 +00:00
65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
# 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.
|