blocksimpy


Nameblocksimpy JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryA high-fidelity blockchain discrete event simulator for research and education
upload_time2025-11-02 19:33:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords blockchain simulation discrete-event cryptocurrency bitcoin mining research education network consensus
VCS
bugtrack_url
requirements simpy PyYAML matplotlib numpy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BlockSimPy

[![Python](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](LICENSE)

A discrete event simulator for blockchain networks that models mining competition, block propagation, difficulty adjustment, and economic incentives. The simulator enables controlled experimentation with blockchain protocols without operating live cryptocurrency nodes. Configurations for Bitcoin, Bitcoin Cash, Litecoin, and Dogecoin are provided.


## Installation

```bash
pip install blocksimpy
```

## Quick Start

Run a Bitcoin simulation for 100 blocks:

```bash
blocksimpy --chain btc --blocks 100
```
or

```bash
bsim --chain btc --blocks 100
```

Run a custom blockchain:

```bash
blocksimpy --blocktime 30 --blocks 50 --miners 5
```

See all options:

```bash
blocksimpy --help
```

## Testing

Validate the simulator works correctly:

```bash
python tests/test_validation.py
```

This runs simulations for Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash, validating that metrics match expected values.

## Documentation

[Architecture](docs/ARCHITECTURE.md)

[Configuration guide](src/blocksimpy/config/CONFIGURATION_GUIDE.md)


## License

Apache License 2.0 - see [LICENSE](LICENSE) for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "blocksimpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "blockchain, simulation, discrete-event, cryptocurrency, bitcoin, mining, research, education, network, consensus",
    "author": null,
    "author_email": "Bekmukhamed <bekmukhamed.tursunbayev@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b0/dc/02ba3f81d4f6ba849f48815a926b44c79cadfff50f4c45dbddf4912a756e/blocksimpy-1.0.1.tar.gz",
    "platform": null,
    "description": "# BlockSimPy\n\n[![Python](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](LICENSE)\n\nA discrete event simulator for blockchain networks that models mining competition, block propagation, difficulty adjustment, and economic incentives. The simulator enables controlled experimentation with blockchain protocols without operating live cryptocurrency nodes. Configurations for Bitcoin, Bitcoin Cash, Litecoin, and Dogecoin are provided.\n\n\n## Installation\n\n```bash\npip install blocksimpy\n```\n\n## Quick Start\n\nRun a Bitcoin simulation for 100 blocks:\n\n```bash\nblocksimpy --chain btc --blocks 100\n```\nor\n\n```bash\nbsim --chain btc --blocks 100\n```\n\nRun a custom blockchain:\n\n```bash\nblocksimpy --blocktime 30 --blocks 50 --miners 5\n```\n\nSee all options:\n\n```bash\nblocksimpy --help\n```\n\n## Testing\n\nValidate the simulator works correctly:\n\n```bash\npython tests/test_validation.py\n```\n\nThis runs simulations for Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash, validating that metrics match expected values.\n\n## Documentation\n\n[Architecture](docs/ARCHITECTURE.md)\n\n[Configuration guide](src/blocksimpy/config/CONFIGURATION_GUIDE.md)\n\n\n## License\n\nApache License 2.0 - see [LICENSE](LICENSE) for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A high-fidelity blockchain discrete event simulator for research and education",
    "version": "1.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/btursunbayev/blocksimpy/issues",
        "Homepage": "https://github.com/btursunbayev/blocksimpy",
        "Repository": "https://github.com/btursunbayev/blocksimpy.git"
    },
    "split_keywords": [
        "blockchain",
        " simulation",
        " discrete-event",
        " cryptocurrency",
        " bitcoin",
        " mining",
        " research",
        " education",
        " network",
        " consensus"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7eb4f4160e9452fe8acba3c474b0206f111cffa95b7ee236f919d756425641af",
                "md5": "14c158b1f3f44f6d45d837ffef0e460c",
                "sha256": "a5a91c5abb8bb92183f8eba167c4c633726a1c538d76a59ac5c0fabb8d601fae"
            },
            "downloads": -1,
            "filename": "blocksimpy-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "14c158b1f3f44f6d45d837ffef0e460c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 34170,
            "upload_time": "2025-11-02T19:33:36",
            "upload_time_iso_8601": "2025-11-02T19:33:36.263785Z",
            "url": "https://files.pythonhosted.org/packages/7e/b4/f4160e9452fe8acba3c474b0206f111cffa95b7ee236f919d756425641af/blocksimpy-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b0dc02ba3f81d4f6ba849f48815a926b44c79cadfff50f4c45dbddf4912a756e",
                "md5": "c7a0e12dbf98092ee8aa58ee7dd728cb",
                "sha256": "c1d73c074b4e81d6573bd3e1861aedae3a6bdd25d57de5762b7dc700624c7378"
            },
            "downloads": -1,
            "filename": "blocksimpy-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c7a0e12dbf98092ee8aa58ee7dd728cb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 33670,
            "upload_time": "2025-11-02T19:33:37",
            "upload_time_iso_8601": "2025-11-02T19:33:37.592542Z",
            "url": "https://files.pythonhosted.org/packages/b0/dc/02ba3f81d4f6ba849f48815a926b44c79cadfff50f4c45dbddf4912a756e/blocksimpy-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 19:33:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "btursunbayev",
    "github_project": "blocksimpy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "simpy",
            "specs": [
                [
                    ">=",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.7.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.24.0"
                ]
            ]
        }
    ],
    "lcname": "blocksimpy"
}
        
Elapsed time: 1.97207s