From d1fb1e1585d6108a4517abd105877fb813138250 Mon Sep 17 00:00:00 2001 From: Matthew Zipkin Date: Wed, 4 Jun 2025 10:37:17 -0400 Subject: [PATCH] docs: move quick start to front page --- README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++- docs/quickstart.md | 51 -------------------------------- 2 files changed, 73 insertions(+), 52 deletions(-) delete mode 100644 docs/quickstart.md diff --git a/README.md b/README.md index d2301ad96..a99759492 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Monitor and analyze the emergent behaviors of Bitcoin networks. * Collect and search data from nodes including log files and p2p messages. * Monitor and visualize performance data from Bitcoin nodes. * Connect to a large network running in a remote cluster, or a smaller network running locally. +* Add a Lightning Network with its own channel topology and payment activity. ## Documentation @@ -25,4 +26,75 @@ Monitor and analyze the emergent behaviors of Bitcoin networks. - [Scaling](/docs/scaling.md) - [Contributing](/docs/developer-notes.md) -![warnet-art](https://raw.githubusercontent.com/bitcoin-dev-project/warnet/main/docs/machines.webp) + +## Quick Start + +### 1. Create a python virtual environment + +```sh +python3 -m venv .venv +source ./venv/bin/activate +``` + +### 2. Install Warnet + +```sh +pip install warnet +``` + +### 3. Set up dependencies + +Warnet will ask which back end you want to use, check that it is working, +and install additional client tools into the virtual environment. + +```sh +warnet setup +``` + +### 4. Create a project and network + +Warnet will create a new folder structure containing standard scenario and plugin +files, and prompt for details about a network topology to create. Topology details +include number of Bitcoin nodes, which release versions or custom images to deploy +and how many random graph connections to start each node with. + +```sh +warnet new /my/work/stuff/projectname +``` + +### 5. Deploy the network + +```sh +warnet deploy /my/work/stuff/projectname/networks/networkname +``` + +### 6. Run experiments + +For example, you can start mining blocks... + +```sh +warnet run /my/work/stuff/projectname/scenarios/miner_std.py +``` + +... and then observe network connectivity and statistics in your browser: + +```sh +warnet dashboard +``` + +### 7. Shut down the network + +```sh +warnet down +``` + +### 8. Customize + +Read the docs and learn how to write your own [scenarios](docs/scenarios.md) +or add [plugins](docs/plugins.md) to your network. [Configure](docs/config.md) individual nodes +in the network by editing the `network.yaml` file or configure +defaults for all nodes in the network by editing `node-defaults.yaml`. Once +your network is running use Warnet [CLI](docs/warnet.md) commands to interact with it. + + +![warnet-art](https://raw.githubusercontent.com/bitcoin-dev-project/warnet/main/docs/machines.webp) \ No newline at end of file diff --git a/docs/quickstart.md b/docs/quickstart.md deleted file mode 100644 index 8aea137b3..000000000 --- a/docs/quickstart.md +++ /dev/null @@ -1,51 +0,0 @@ -# Quick run - -## Installation - -Either install warnet via pip, or clone the source and install: - -### via pip - -You can install warnet via `pip` into a virtual environment with - -```bash -python3 -m venv .venv -source .venv/bin/activate -pip install warnet -``` - -### via cloned source - -You can install warnet from source into a virtual environment with - -```bash -git clone https://github.com/bitcoin-dev-project/warnet.git -cd warnet -python3 -m venv .venv -source .venv/bin/activate -pip install -e . -``` - -## Running - -To get started first check you have all the necessary requirements: - -```bash -warnet setup -``` - -Then create your first network: - -```bash -# Create a new network in the current directory -warnet init - -# Or in a directory of choice -warnet new -``` - -Follow the guide to configure network variables. - -## fork-observer - -If you enabled [fork-observer](https://github.com/0xB10C/fork-observer), it will be available from the landing page at `localhost:2019`.