Monitor and analyze the emergent behaviours of bitcoin networks
Project description
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
- Design
- Installation
- CLI Commands
- Network configuration with yaml files
- Plugins
- Scenarios
- Monitoring
- Snapshots
- Connecting to local nodes outside the cluster
- Scaling
- Contributing
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b629dcb3111d29a5b9fe04e573a7dde6a20d76f53adfe7cba7e506c33de965f6
|
|
| MD5 |
38368f2d188402ea7f66425ffa0381d9
|
|
| BLAKE2b-256 |
7c0be3fa9481ed7b96c2ff7d5100dbceaef0e850f0453db55d1e805d88b72e7f
|
Provenance
The following attestation bundles were made for warnet-1.1.20.tar.gz:
Publisher:
publish-dist.yml on bitcoin-dev-project/warnet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
warnet-1.1.20.tar.gz -
Subject digest:
b629dcb3111d29a5b9fe04e573a7dde6a20d76f53adfe7cba7e506c33de965f6 - Sigstore transparency entry: 1004639836
- Sigstore integration time:
-
Permalink:
bitcoin-dev-project/warnet@20c49d869299d21248a26e116bf442b3a6ce2def -
Branch / Tag:
refs/tags/v1.1.20 - Owner: https://github.com/bitcoin-dev-project
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dist.yml@20c49d869299d21248a26e116bf442b3a6ce2def -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
206385ed53f6eb4f881a1cfc2d3ccebf1f8000771fb6e2126a90f09feed0dd1d
|
|
| MD5 |
478f2ae201bb3ed727588ba2f698ae5a
|
|
| BLAKE2b-256 |
78e8b8c45015b84fb61a52c05752466c1f19fcf7e259f4d9aa2124ddbafdaf4d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
warnet-1.1.20-py3-none-any.whl -
Subject digest:
206385ed53f6eb4f881a1cfc2d3ccebf1f8000771fb6e2126a90f09feed0dd1d - Sigstore transparency entry: 1004639838
- Sigstore integration time:
-
Permalink:
bitcoin-dev-project/warnet@20c49d869299d21248a26e116bf442b3a6ce2def -
Branch / Tag:
refs/tags/v1.1.20 - Owner: https://github.com/bitcoin-dev-project
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dist.yml@20c49d869299d21248a26e116bf442b3a6ce2def -
Trigger Event:
push
-
Statement type: