btl-cd-release-test


Namebtl-cd-release-test JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/Blockchain-Technology-Lab/consensus-decentralization/
SummaryBlockchain-Technology-Lab Consensus Decentralization Tool
upload_time2023-09-03 18:02:30
maintainer
docs_urlNone
authorfnmokhtar
requires_python>=3.8
license
keywords blockchain technology lab consensus decentralization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # Consensus Blockchain Decentralization

This repository provides a CLI tool for analyzing the block production of various blockchains and measuring their 
subsequent levels of decentralization. Please refer to the project's
[documentation pages](https://blockchain-technology-lab.github.io/consensus-decentralization/) for details on its architecture,
required input, produced output, and more.

Currently, the supported blockchains are:
- Bitcoin
- Bitcoin Cash
- Cardano
- Dogecoin
- Ethereum
- Litecoin
- Tezos
- Zcash
We intend to add more ledgers to this list in the future.

## Installation

To install the tool, simply clone this project:

    git clone https://github.com/Blockchain-Technology-Lab/consensus-decentralization.git

The [requirements file](requirements.txt) lists the dependencies of the project.
Make sure you have all of them installed before running the scripts. To install
all of them in one go, run the following command from the root directory of the
project:

    python -m pip install -r requirements.txt

## Run the tool

Place all raw data (which could be collected from [BigQuery](https://cloud.google.com/bigquery/) for example) in the `raw_block_data` directory, each file named as
`<project_name>_raw_data.json` (e.g. `bitcoin_raw_data.json`). By default, there
is a (very small) sample input file for some supported projects. To use the
samples, remove the prefix `sample_`. For more extended raw data and instructions on how to retrieve it, see
[here](https://blockchain-technology-lab.github.io/consensus-decentralization/data/).

Run `python run.py --ledgers <ledger_1> ... <ledger_n> --timeframe <timeframe>` to produce a csv of the mapped data.
Note that both arguments are optional, so it's possible to omit one or both of them (in which case the default values
will be used). Specifically:

- The `ledgers` argument accepts any number of supported ledgers (case-insensitive). 
For example, `--ledgers bitcoin` runs the analysis for Bitcoin, `--ledgers Bitcoin Ethereum Cardano` runs the analysis 
for Bitcoin, Ethereum and Cardano, etc. Ledgers with  more words should be defined with an underscore; for example 
Bitcoin Cash should be set as `bitcoin_cash`.
- The `timeframe` argument should be of the form `YYYY-MM-DD` (month and day can be omitted). 
For example,  `--timeframe 2022` runs the analysis for the year 2022, `--timeframe 2022-02` runs it for February 2022, 
etc.

`run.py` prints the output of each implemented metric for the specified ledgers and timeframe.

To mass produce and analyze data, omit one or both arguments. If only the
`ledgers` is given, all data since January 2018 for the given ledgers will be
analyzed. If only the timeframe is specified, all ledgers will be analyzed for
the given timeframe. If no arguments are given, all ledgers will be analyzed for
all months since January 2018.

Three files `nc.csv`, `gini.csv`, `entropy.csv` are also created in the `output` directory, containing the data from the 
last execution of `run.py`.

## Contributing

Everyone is welcome to contribute ideas, report bugs, and make the code more efficient. We especially welcome contributions to the following areas:

- Add support for a ledger that is not already supported.
- Update and/or add mapping information for a ledger.
- Add a new metric.

For detailed information on how to contribute see the relevant [documentation
page](https://blockchain-technology-lab.github.io/consensus-decentralization/contribute/).

## Maintainers

The tool is actively maintained by the following developers:

- [Dimitris Karakostas](https://github.com/dimkarakostas)
- [Christina Ovezik](https://github.com/LadyChristina)

*Note*: When opening a Pull Request, you must request a review from at least *2*
people in the above list.

## License

The code of this repository is released under the [MIT License](https://github.com/Blockchain-Technology-Lab/consensus-decentralization/blob/main/LICENSE).
The documentation pages are released under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Blockchain-Technology-Lab/consensus-decentralization/",
    "name": "btl-cd-release-test",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Blockchain Technology Lab, Consensus, Decentralization",
    "author": "fnmokhtar",
    "author_email": "fnmokhtar@outlook.fr",
    "download_url": "https://files.pythonhosted.org/packages/d0/5a/668046603113c1d64e7147b87f1c332312d93abe205af3f1d60f0c9bce18/btl-cd-release-test-0.0.2.tar.gz",
    "platform": null,
    "description": "# Consensus Blockchain Decentralization\n\nThis repository provides a CLI tool for analyzing the block production of various blockchains and measuring their \nsubsequent levels of decentralization. Please refer to the project's\n[documentation pages](https://blockchain-technology-lab.github.io/consensus-decentralization/) for details on its architecture,\nrequired input, produced output, and more.\n\nCurrently, the supported blockchains are:\n- Bitcoin\n- Bitcoin Cash\n- Cardano\n- Dogecoin\n- Ethereum\n- Litecoin\n- Tezos\n- Zcash\nWe intend to add more ledgers to this list in the future.\n\n## Installation\n\nTo install the tool, simply clone this project:\n\n    git clone https://github.com/Blockchain-Technology-Lab/consensus-decentralization.git\n\nThe [requirements file](requirements.txt) lists the dependencies of the project.\nMake sure you have all of them installed before running the scripts. To install\nall of them in one go, run the following command from the root directory of the\nproject:\n\n    python -m pip install -r requirements.txt\n\n## Run the tool\n\nPlace all raw data (which could be collected from [BigQuery](https://cloud.google.com/bigquery/) for example) in the `raw_block_data` directory, each file named as\n`<project_name>_raw_data.json` (e.g. `bitcoin_raw_data.json`). By default, there\nis a (very small) sample input file for some supported projects. To use the\nsamples, remove the prefix `sample_`. For more extended raw data and instructions on how to retrieve it, see\n[here](https://blockchain-technology-lab.github.io/consensus-decentralization/data/).\n\nRun `python run.py --ledgers <ledger_1> ... <ledger_n> --timeframe <timeframe>` to produce a csv of the mapped data.\nNote that both arguments are optional, so it's possible to omit one or both of them (in which case the default values\nwill be used). Specifically:\n\n- The `ledgers` argument accepts any number of supported ledgers (case-insensitive). \nFor example, `--ledgers bitcoin` runs the analysis for Bitcoin, `--ledgers Bitcoin Ethereum Cardano` runs the analysis \nfor Bitcoin, Ethereum and Cardano, etc. Ledgers with  more words should be defined with an underscore; for example \nBitcoin Cash should be set as `bitcoin_cash`.\n- The `timeframe` argument should be of the form `YYYY-MM-DD` (month and day can be omitted). \nFor example,  `--timeframe 2022` runs the analysis for the year 2022, `--timeframe 2022-02` runs it for February 2022, \netc.\n\n`run.py` prints the output of each implemented metric for the specified ledgers and timeframe.\n\nTo mass produce and analyze data, omit one or both arguments. If only the\n`ledgers` is given, all data since January 2018 for the given ledgers will be\nanalyzed. If only the timeframe is specified, all ledgers will be analyzed for\nthe given timeframe. If no arguments are given, all ledgers will be analyzed for\nall months since January 2018.\n\nThree files `nc.csv`, `gini.csv`, `entropy.csv` are also created in the `output` directory, containing the data from the \nlast execution of `run.py`.\n\n## Contributing\n\nEveryone is welcome to contribute ideas, report bugs, and make the code more efficient. We especially welcome contributions to the following areas:\n\n- Add support for a ledger that is not already supported.\n- Update and/or add mapping information for a ledger.\n- Add a new metric.\n\nFor detailed information on how to contribute see the relevant [documentation\npage](https://blockchain-technology-lab.github.io/consensus-decentralization/contribute/).\n\n## Maintainers\n\nThe tool is actively maintained by the following developers:\n\n- [Dimitris Karakostas](https://github.com/dimkarakostas)\n- [Christina Ovezik](https://github.com/LadyChristina)\n\n*Note*: When opening a Pull Request, you must request a review from at least *2*\npeople in the above list.\n\n## License\n\nThe code of this repository is released under the [MIT License](https://github.com/Blockchain-Technology-Lab/consensus-decentralization/blob/main/LICENSE).\nThe documentation pages are released under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Blockchain-Technology-Lab Consensus Decentralization Tool",
    "version": "0.0.2",
    "project_urls": {
        "Homepage": "https://github.com/Blockchain-Technology-Lab/consensus-decentralization/"
    },
    "split_keywords": [
        "blockchain technology lab",
        " consensus",
        " decentralization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d05a668046603113c1d64e7147b87f1c332312d93abe205af3f1d60f0c9bce18",
                "md5": "9c170e0fbc3e0e8804e52594f35baf95",
                "sha256": "e6d3f1435511b843dd40a5125bac9792560fc77cc3591d747cd031390dbcbf37"
            },
            "downloads": -1,
            "filename": "btl-cd-release-test-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9c170e0fbc3e0e8804e52594f35baf95",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 705349,
            "upload_time": "2023-09-03T18:02:30",
            "upload_time_iso_8601": "2023-09-03T18:02:30.832719Z",
            "url": "https://files.pythonhosted.org/packages/d0/5a/668046603113c1d64e7147b87f1c332312d93abe205af3f1d60f0c9bce18/btl-cd-release-test-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-03 18:02:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Blockchain-Technology-Lab",
    "github_project": "consensus-decentralization",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "lcname": "btl-cd-release-test"
}
        
Elapsed time: 0.10883s