Skip to main content

Minimal blockchain

Project description

MinChain - minimal blockchain

For experimenting and future projects.

Requirements

  • Python 3.6+
  • [optional] scrypt for scrypt based hashing

Install

$ pip install --user repachain

or (using latest available code)

$ pip install --user git+https://github.com/dyuri/repachain

or

$ git clone https://github.com/dyuri/repachain
$ pip install --user repachain

Usage

>>> from repachain import RepaChain
>>> rc = RepaChain('abc', 'sha256')
>>> rc.add_block('whatever')
>>> rc.verify()
>>> rc.to_json_file('whatever.json.gz')
>>> rc[1].hash = 'wrong hash'
>>> rc.verify()
repachain.InvalidBlockException: Wrong hash at block 1
>>> rc2 = RepaChain.from_json_file('whatever.json.gz')
>>> rc2.verify()
>>> rc2[1].data
'whatever'

Testing

You need pyenv for running the testsuite for both python 3.6 and 3.7.

$ pip install --user tox tox-pyenv pytest pytest-cov
$ tox

TODO

  • proper documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repachain-1.0.2.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file repachain-1.0.2.tar.gz.

File metadata

  • Download URL: repachain-1.0.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4

File hashes

Hashes for repachain-1.0.2.tar.gz
Algorithm Hash digest
SHA256 3380f60224d4beb7d4b01d9a22db85496b0410a2676d149a86bd3046f024d9d5
MD5 20162d921a3331653f933703ad124a52
BLAKE2b-256 f41ed532b8950368021c1f5a9a3080916f4272629b96ebf09b5274eaf179a365

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page