warnet


Namewarnet JSON
Version 1.1.17 PyPI version JSON
download
home_pageNone
SummaryMonitor and analyze the emergent behaviours of bitcoin networks
upload_time2025-10-08 19:48:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords bitcoin warnet
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/bitcoin-dev-project/warnet/main/pyproject.toml)
# Warnet

Monitor and analyze the emergent behaviors of Bitcoin networks.

## Major Features

* Launch a bitcoin network with a specified number of nodes connected to each other according to a network topology.
* Run scenarios of network behavior across the network which can be programmed using the Bitcoin Core functional [test_framework language](https://github.com/bitcoin/bitcoin/tree/master/test/functional).
* 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

- [Design](/DESIGN.md)
- [Installation](/docs/install.md)
- [CLI Commands](/docs/warnet.md)
- [Network configuration with yaml files](/docs/config.md)
- [Plugins](/docs/plugins.md)
- [Scenarios](/docs/scenarios.md)
- [Monitoring](/docs/logging_monitoring.md)
- [Snapshots](/docs/snapshots.md)
- [Connecting to local nodes outside the cluster](/docs/connecting-local-nodes.md)
- [Scaling](/docs/scaling.md)
- [Contributing](/docs/developer-notes.md)


## 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)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "warnet",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "bitcoin, warnet",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/71/ab/0382c8e8d91dd4eb70d7aec19d558b3a6f5a687473bd8309a4c387c5acc6/warnet-1.1.17.tar.gz",
    "platform": null,
    "description": "![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/bitcoin-dev-project/warnet/main/pyproject.toml)\n# Warnet\n\nMonitor and analyze the emergent behaviors of Bitcoin networks.\n\n## Major Features\n\n* Launch a bitcoin network with a specified number of nodes connected to each other according to a network topology.\n* Run scenarios of network behavior across the network which can be programmed using the Bitcoin Core functional [test_framework language](https://github.com/bitcoin/bitcoin/tree/master/test/functional).\n* Collect and search data from nodes including log files and p2p messages.\n* Monitor and visualize performance data from Bitcoin nodes.\n* Connect to a large network running in a remote cluster, or a smaller network running locally.\n* Add a Lightning Network with its own channel topology and payment activity.\n\n## Documentation\n\n- [Design](/DESIGN.md)\n- [Installation](/docs/install.md)\n- [CLI Commands](/docs/warnet.md)\n- [Network configuration with yaml files](/docs/config.md)\n- [Plugins](/docs/plugins.md)\n- [Scenarios](/docs/scenarios.md)\n- [Monitoring](/docs/logging_monitoring.md)\n- [Snapshots](/docs/snapshots.md)\n- [Connecting to local nodes outside the cluster](/docs/connecting-local-nodes.md)\n- [Scaling](/docs/scaling.md)\n- [Contributing](/docs/developer-notes.md)\n\n\n## Quick Start\n\n### 1. Create a python virtual environment\n\n```sh\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n### 2. Install Warnet\n\n```sh\npip install warnet\n```\n\n### 3. Set up dependencies\n\nWarnet will ask which back end you want to use, check that it is working,\nand install additional client tools into the virtual environment.\n\n```sh\nwarnet setup\n```\n\n### 4. Create a project and network\n\nWarnet will create a new folder structure containing standard scenario and plugin\nfiles, and prompt for details about a network topology to create. Topology details\ninclude number of Bitcoin nodes, which release versions or custom images to deploy\nand how many random graph connections to start each node with.\n\n```sh\nwarnet new /my/work/stuff/projectname\n```\n\n### 5. Deploy the network\n\n```sh\nwarnet deploy /my/work/stuff/projectname/networks/networkname\n```\n\n### 6. Run experiments\n\nFor example, you can start mining blocks...\n\n```sh\nwarnet run /my/work/stuff/projectname/scenarios/miner_std.py\n```\n\n... and then observe network connectivity and statistics in your browser:\n\n```sh\nwarnet dashboard\n```\n\n### 7. Shut down the network\n\n```sh\nwarnet down\n```\n\n### 8. Customize\n\nRead the docs and learn how to write your own [scenarios](docs/scenarios.md)\nor add [plugins](docs/plugins.md) to your network. [Configure](docs/config.md) individual nodes\nin the network by editing the `network.yaml` file or configure\ndefaults for all nodes in the network by editing `node-defaults.yaml`. Once\nyour network is running use Warnet [CLI](docs/warnet.md) commands to interact with it.\n\n\n![warnet-art](https://raw.githubusercontent.com/bitcoin-dev-project/warnet/main/docs/machines.webp)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Monitor and analyze the emergent behaviours of bitcoin networks",
    "version": "1.1.17",
    "project_urls": {
        "GitHub": "https://github.com/bitcoin-dev-project/warnet",
        "Homepage": "https://warnet.dev",
        "Pypi": "https://pypi.org/project/warnet/"
    },
    "split_keywords": [
        "bitcoin",
        " warnet"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4d0e399afbfa9157943efbbdbf9e424f5d0d251f343f6de64266d314f592102",
                "md5": "ae6940057859ff6211dbc5ddc7c3e547",
                "sha256": "56746badea2020ec1f500a4ac0d73e61287365810409cf66dd4ec41a7b6ee7a6"
            },
            "downloads": -1,
            "filename": "warnet-1.1.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ae6940057859ff6211dbc5ddc7c3e547",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 411984,
            "upload_time": "2025-10-08T19:48:03",
            "upload_time_iso_8601": "2025-10-08T19:48:03.610520Z",
            "url": "https://files.pythonhosted.org/packages/f4/d0/e399afbfa9157943efbbdbf9e424f5d0d251f343f6de64266d314f592102/warnet-1.1.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71ab0382c8e8d91dd4eb70d7aec19d558b3a6f5a687473bd8309a4c387c5acc6",
                "md5": "98563c5ed44dc516892fc98e5c9414d4",
                "sha256": "915b84ea7c5b5b019a551865807ddc68d053cf2af50e97dff8343b3425f21a1c"
            },
            "downloads": -1,
            "filename": "warnet-1.1.17.tar.gz",
            "has_sig": false,
            "md5_digest": "98563c5ed44dc516892fc98e5c9414d4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 580659,
            "upload_time": "2025-10-08T19:48:05",
            "upload_time_iso_8601": "2025-10-08T19:48:05.971125Z",
            "url": "https://files.pythonhosted.org/packages/71/ab/0382c8e8d91dd4eb70d7aec19d558b3a6f5a687473bd8309a4c387c5acc6/warnet-1.1.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-08 19:48:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bitcoin-dev-project",
    "github_project": "warnet",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "warnet"
}
        
Elapsed time: 2.45959s