OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Chainxim

ChainXim is a Python blockchain simulator that models node interactions, message propagation and consensus behavior in virtual networks running on a single machine. It supports performance evaluation, attack scenarios and development of blockchain applications.

Independent OpenViST project profile, based on linked sources.

Chainxim — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use ChainXim when an experiment needs a large simulated blockchain network without deploying each node on separate machines, or when comparing protocol behavior under varied propagation and attack conditions.

Who it is for

  • Blockchain developers prototyping applications against simulated networks
  • Researchers comparing consensus protocols or network models
  • Teams evaluating simulated blockchain performance and robustness

Documented uses

  • Compare consensus behavior across network configurations.
  • Measure throughput, fork rate and chain quality after a simulation.
  • Model attacker behavior to examine blockchain robustness and consensus security properties.
  • Develop or extend simulation scenarios with modular consensus and network components.
Before you choose

Requirements & limits

The project is available as a public GitHub repository. Repository metadata does not specify a license.

  • The documented setup uses Anaconda, conda, Python 3.10, python-graphviz and dependencies installed from requirements.txt.
  • Its simulation architecture separates consensus, network and attack components, with extension points for new consensus and network models.
  • The documented beginner example runs from the command line and uses a 10-node topology with selfish mining.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up ChainXim with Python 3.10

Prepare the documented conda environment and install the project dependencies.

Before you start

  • Anaconda
  • The ChainXim repository cloned or downloaded

Steps

  1. Create and activate a conda environment with Python 3.10 and python-graphviz.

  2. From the project directory, install dependencies with pip install -r requirements.txt.

Expected outcome

A conda environment with the documented Python version and project requirements installed.

Guide limitations

  • These steps cover environment setup only; they do not verify that the simulator runs on a particular machine.
Source-based practical guide

Run the documented 10-node selfish-mining example

Start the README's example simulation after completing environment setup.

Before you start

  • ChainXim downloaded or cloned
  • The documented conda environment activated

Steps

  1. Open a terminal in the ChainXim root directory.

  2. Run python main.py --total_round 3000 --miner_num 10 --average_block_time 400 --network_type network.TopologyNetwork --attack_type SelfishMining --blocksize 8 --no_compact_outputfile --show_label.

Expected outcome

The documented example starts a 10-node simulation with selfish-mining attackers for 3,000 rounds and displays simulation parameters and progress.

Guide limitations

  • The README example demonstrates one configuration; results depend on the chosen simulation parameters.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
ChainXim-Team/ChainXim · Official homepage title · retained in its source language