Simple extendable Blockchain implemented in Python
Project description
# basic-blockchain
Basic cryptocurrency, based on blockchain, implemented in Python.
- [basic-blockchain](#basic-blockchain)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Use (default web implementation)](#use-default-web-implementation)
- [Development](#development)
- [Roadmap](#roadmap)
- [License](#license)
## Getting Started
### Installation
```
pip install bbchain
```
### Use (default web implementation)
```bash
# Start (default port 8000)
bbchain --start
# Start with selected host/port
bbchain --start --host 127.0.0.1 --port 8002
# Select other nodes to connect
bbchain --start --nodes ip1:port1,ip2:port2
# Add data to the blockchain
bbchain --add "data to storage" --nodes ip1:port1
# Maintenance
## Clean local storage
bbchain --clean
## Show local data
bbchain --print
```
## Development
```bash
git clone https://github.com/jepemo/basic-blockchain.git
cd basic-blockchain
python3 -m venv venv
source venv/bin/activate
pip install -e .
bbchain --help
```
Execute tests:
```
python3 setup.py test
```
[Some Blockchain implementation readings](docs/readings.md)
## Roadmap
- More tests
- Implement real consensus algorithms
- Improve default http implementation (better sync, etc.)
- Some examples: cryptocurrency, etc.
- Allow to save non-textual data
## License
[GNU GPLv3](LICENSE)
Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
Basic cryptocurrency, based on blockchain, implemented in Python.
- [basic-blockchain](#basic-blockchain)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Use (default web implementation)](#use-default-web-implementation)
- [Development](#development)
- [Roadmap](#roadmap)
- [License](#license)
## Getting Started
### Installation
```
pip install bbchain
```
### Use (default web implementation)
```bash
# Start (default port 8000)
bbchain --start
# Start with selected host/port
bbchain --start --host 127.0.0.1 --port 8002
# Select other nodes to connect
bbchain --start --nodes ip1:port1,ip2:port2
# Add data to the blockchain
bbchain --add "data to storage" --nodes ip1:port1
# Maintenance
## Clean local storage
bbchain --clean
## Show local data
bbchain --print
```
## Development
```bash
git clone https://github.com/jepemo/basic-blockchain.git
cd basic-blockchain
python3 -m venv venv
source venv/bin/activate
pip install -e .
bbchain --help
```
Execute tests:
```
python3 setup.py test
```
[Some Blockchain implementation readings](docs/readings.md)
## Roadmap
- More tests
- Implement real consensus algorithms
- Improve default http implementation (better sync, etc.)
- Some examples: cryptocurrency, etc.
- Allow to save non-textual data
## License
[GNU GPLv3](LICENSE)
Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bbchain-0.1.tar.gz
(9.7 kB
view details)
File details
Details for the file bbchain-0.1.tar.gz
.
File metadata
- Download URL: bbchain-0.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9db3a7385ef19e388e73f6940de3dbf121e6611735ae5391d4646ba20055712e |
|
MD5 | c3f55157b2523461fd709dac007589cc |
|
BLAKE2b-256 | 4e80fb694249ddcad1b07dd69d5ea019857ceffeb86b8393845699b5d0e26a6d |