Monitor and analyze the emergent behaviors of Bitcoin networks.
- 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.
- Design
- Installation
- CLI Commands
- Network configuration with yaml files
- Plugins
- Scenarios
- Monitoring
- Snapshots
- Connecting to local nodes outside the cluster
- Scaling
- Contributing
python3 -m venv .venv source .venv/bin/activatepip install warnetWarnet will ask which back end you want to use, check that it is working, and install additional client tools into the virtual environment.
warnet setupWarnet 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/projectnamewarnet deploy /my/work/stuff/projectname/networks/networknameFor 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 dashboardwarnet downRead 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.
