/warnet

Monitor and analyze the emergent behaviors of Bitcoin networks

Primary LanguagePythonMIT LicenseMIT

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 from a specification file.
  • Nodes are assigned random "reachable" IP addresses in the 100.0.0.0/8 subnet which ensures randomized addrman bucketing by Bitcoin Core. (docker only)
  • Scenarios can be run across the network which can be programmed using the Bitcoin Core functional test_framework language.
  • Nodes can have traffic shaping parameters assigned to them via the graph using tc-netem tool.
  • Log files from nodes can be accessed directly
  • A unified log file can be grepped using regex
  • Container resource metrics are reported via a Graphana dashboard.
  • P2P messages between any two nodes can be retrieved in chronological order.

Documentation

warnet-art