zerosync-lucas


Namezerosync-lucas JSON
Version 0.1.2 PyPI version JSON
download
home_page
Summary
upload_time2022-12-02 10:12:58
maintainer
docs_urlNone
authorYour Name
requires_python>=3.9,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <h1>ZeroSync</h1>
  <br />
  <a href="#about"><strong>«A STARK proof to sync a Bitcoin full node in an instant»</strong></a>
  <br />
  <br />
  <a href="https://github.com/ZeroSync/ZeroSync/issues/new?assignees=&labels=bug&template=01_BUG_REPORT.md&title=bug%3A+">Report a Bug</a>
  |
  <a href="https://github.com/ZeroSync/ZeroSync/issues/new?assignees=&labels=enhancement&template=02_FEATURE_REQUEST.md&title=feat%3A+">Request a Feature</a>
  | <a href="https://github.com/ZeroSync/ZeroSync/discussions">Ask a Question</a>
</div>

<div align="center">
<br />

![GitHub Workflow Status](https://github.com/ZeroSync/ZeroSync/actions/workflows/CI.yml/badge.svg)
[![Project license](https://img.shields.io/github/license/ZeroSync/ZeroSync.svg)](../LICENSE)
[![Pull Requests welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg?)](https://github.com/ZeroSync/ZeroSync/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
![GitHub Repo stars](https://img.shields.io/github/stars/ZeroSync/ZeroSync?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/ZeroSync_?style=social)](https://twitter.com/ZeroSync_)

</div>


**Don't trust. Verify.** ZeroSync allows to verify Bitcoin's chain state in an instant. No need to download hundreds of gigabytes of blocks. A compact cryptographic proof suffices to validate the entire history of transactions and everyone's current balances. 

Our first application is to zerosync Bitcoin Core in pruned mode. The long-term vision for ZeroSync is to become a tool box for custom Bitcoin proofs. STARK proofs enable you to transform the blockchain data, enhance it, filter it, index it for efficient queries, and optimise it for your individual use case.

This is an early stage project. Expect frequent breaking changes. [Here is the project roadmap](roadmap.md).

WARNING: THIS CODE IS STILL FULL OF CRITICAL SECURITY BUGS!

## Requirements
- Python 3.9
- Cairo. [Installation Guide](https://www.cairo-lang.org/docs/quickstart.html) (Programming language for provable programs)
- [Protostar](https://docs.swmansion.com/protostar/docs/tutorials/installation) (Automated testing)
- [Giza](https://github.com/maxgillett/giza) (Required for prover. Not necessary for development and testing)


## Run the Utreexo Bridge Node
The Utreexo bridge node is required to pass the tests for block verification. It provides the inclusion proofs for the coins spent in a block.

```sh
source ~/cairo_venv/bin/activate
python src/utreexo/bridge_node.py
```


## Run all Unit Tests
```sh
protostar test --cairo-path=./src target src
```

## Build Parser
```sh
cd src/stark_verifier/parser/
cargo +nightly build

cd ../../..
```

## Run all Integration Tests
```sh
protostar test --cairo-path=./src tests
```

Run some tests with the Rust verifier to derive a detailed ground truth:

```sh
cargo +nightly test -- --show-output
```


## Run the Chain Prover
```sh
source ~/cairo_venv/bin/activate
python3 src/chain_proof/main.py
```


## List TODOs
```sh
 ./docs/todos
```


## Roadmap

The roadmap is available [here](roadmap.md).

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "zerosync-lucas",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Your Name",
    "author_email": "you@example.com",
    "download_url": "https://files.pythonhosted.org/packages/82/17/0e564ae6a36c48c40d3dfc35128aebce55cbbf291a9434a110e52504cd9c/zerosync_lucas-0.1.2.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <h1>ZeroSync</h1>\n  <br />\n  <a href=\"#about\"><strong>\u00abA STARK proof to sync a Bitcoin full node in an instant\u00bb</strong></a>\n  <br />\n  <br />\n  <a href=\"https://github.com/ZeroSync/ZeroSync/issues/new?assignees=&labels=bug&template=01_BUG_REPORT.md&title=bug%3A+\">Report a Bug</a>\n  |\n  <a href=\"https://github.com/ZeroSync/ZeroSync/issues/new?assignees=&labels=enhancement&template=02_FEATURE_REQUEST.md&title=feat%3A+\">Request a Feature</a>\n  | <a href=\"https://github.com/ZeroSync/ZeroSync/discussions\">Ask a Question</a>\n</div>\n\n<div align=\"center\">\n<br />\n\n![GitHub Workflow Status](https://github.com/ZeroSync/ZeroSync/actions/workflows/CI.yml/badge.svg)\n[![Project license](https://img.shields.io/github/license/ZeroSync/ZeroSync.svg)](../LICENSE)\n[![Pull Requests welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg?)](https://github.com/ZeroSync/ZeroSync/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)\n![GitHub Repo stars](https://img.shields.io/github/stars/ZeroSync/ZeroSync?style=social)\n[![Twitter Follow](https://img.shields.io/twitter/follow/ZeroSync_?style=social)](https://twitter.com/ZeroSync_)\n\n</div>\n\n\n**Don't trust. Verify.** ZeroSync allows to verify Bitcoin's chain state in an instant. No need to download hundreds of gigabytes of blocks. A compact cryptographic proof suffices to validate the entire history of transactions and everyone's current balances. \n\nOur first application is to zerosync Bitcoin Core in pruned mode. The long-term vision for ZeroSync is to become a tool box for custom Bitcoin proofs. STARK proofs enable you to transform the blockchain data, enhance it, filter it, index it for efficient queries, and optimise it for your individual use case.\n\nThis is an early stage project. Expect frequent breaking changes. [Here is the project roadmap](roadmap.md).\n\nWARNING: THIS CODE IS STILL FULL OF CRITICAL SECURITY BUGS!\n\n## Requirements\n- Python 3.9\n- Cairo. [Installation Guide](https://www.cairo-lang.org/docs/quickstart.html) (Programming language for provable programs)\n- [Protostar](https://docs.swmansion.com/protostar/docs/tutorials/installation) (Automated testing)\n- [Giza](https://github.com/maxgillett/giza) (Required for prover. Not necessary for development and testing)\n\n\n## Run the Utreexo Bridge Node\nThe Utreexo bridge node is required to pass the tests for block verification. It provides the inclusion proofs for the coins spent in a block.\n\n```sh\nsource ~/cairo_venv/bin/activate\npython src/utreexo/bridge_node.py\n```\n\n\n## Run all Unit Tests\n```sh\nprotostar test --cairo-path=./src target src\n```\n\n## Build Parser\n```sh\ncd src/stark_verifier/parser/\ncargo +nightly build\n\ncd ../../..\n```\n\n## Run all Integration Tests\n```sh\nprotostar test --cairo-path=./src tests\n```\n\nRun some tests with the Rust verifier to derive a detailed ground truth:\n\n```sh\ncargo +nightly test -- --show-output\n```\n\n\n## Run the Chain Prover\n```sh\nsource ~/cairo_venv/bin/activate\npython3 src/chain_proof/main.py\n```\n\n\n## List TODOs\n```sh\n ./docs/todos\n```\n\n\n## Roadmap\n\nThe roadmap is available [here](roadmap.md).\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "",
    "version": "0.1.2",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "373baf45ac4b809148ff05ae48bded25",
                "sha256": "28f78c2a0ce65f8599b61bb9e9fe37219a1f7e674cd8675f474b1e0d15b4ae13"
            },
            "downloads": -1,
            "filename": "zerosync_lucas-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "373baf45ac4b809148ff05ae48bded25",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 420761,
            "upload_time": "2022-12-02T10:12:55",
            "upload_time_iso_8601": "2022-12-02T10:12:55.846512Z",
            "url": "https://files.pythonhosted.org/packages/3e/14/40a319a79bfc61fa061bf7600a880471639156798a1138ebe81eea545a82/zerosync_lucas-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8e15dd7db4bd263e68924183c220202d",
                "sha256": "22554c7f8be3be5819adbe922de1643e45ab17e622be3998fef945ae5e6d2d87"
            },
            "downloads": -1,
            "filename": "zerosync_lucas-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "8e15dd7db4bd263e68924183c220202d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 395329,
            "upload_time": "2022-12-02T10:12:58",
            "upload_time_iso_8601": "2022-12-02T10:12:58.209108Z",
            "url": "https://files.pythonhosted.org/packages/82/17/0e564ae6a36c48c40d3dfc35128aebce55cbbf291a9434a110e52504cd9c/zerosync_lucas-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-02 10:12:58",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "zerosync-lucas"
}
        
Elapsed time: 0.02902s