Skip to main content

Monitor and analyze the emergent behaviours of bitcoin networks

Project description

Python Version from PEP 621 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.
  • 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

Quick Start

1. Create a python virtual environment

python3 -m venv .venv
source .venv/bin/activate

2. Install Warnet

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.

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.

warnet new /my/work/stuff/projectname

5. Deploy the network

warnet deploy /my/work/stuff/projectname/networks/networkname

6. Run experiments

For example, you can start mining blocks...

warnet run /my/work/stuff/projectname/scenarios/miner_std.py

... and then observe network connectivity and statistics in your browser:

warnet dashboard

7. Shut down the network

warnet down

8. Customize

Read the docs and learn how to write your own scenarios or add plugins to your network. Configure 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 commands to interact with it.

warnet-art

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

warnet-1.1.20.tar.gz (600.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

warnet-1.1.20-py3-none-any.whl (462.0 kB view details)

Uploaded Python 3

File details

Details for the file warnet-1.1.20.tar.gz.

File metadata

  • Download URL: warnet-1.1.20.tar.gz
  • Upload date:
  • Size: 600.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for warnet-1.1.20.tar.gz
Algorithm Hash digest
SHA256 b629dcb3111d29a5b9fe04e573a7dde6a20d76f53adfe7cba7e506c33de965f6
MD5 38368f2d188402ea7f66425ffa0381d9
BLAKE2b-256 7c0be3fa9481ed7b96c2ff7d5100dbceaef0e850f0453db55d1e805d88b72e7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for warnet-1.1.20.tar.gz:

Publisher: publish-dist.yml on bitcoin-dev-project/warnet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file warnet-1.1.20-py3-none-any.whl.

File metadata

  • Download URL: warnet-1.1.20-py3-none-any.whl
  • Upload date:
  • Size: 462.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for warnet-1.1.20-py3-none-any.whl
Algorithm Hash digest
SHA256 206385ed53f6eb4f881a1cfc2d3ccebf1f8000771fb6e2126a90f09feed0dd1d
MD5 478f2ae201bb3ed727588ba2f698ae5a
BLAKE2b-256 78e8b8c45015b84fb61a52c05752466c1f19fcf7e259f4d9aa2124ddbafdaf4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for warnet-1.1.20-py3-none-any.whl:

Publisher: publish-dist.yml on bitcoin-dev-project/warnet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page