A simple blockchain package.
Project description
Installation
Install and update using pip:
$ pip install tinyblock
Block
dict({'previous_hash'(str): '...',
'timestamp'(int): '...',
'data'(any): '...',
'nonce'(int): '...',
'next_hash'(str): '...'})
Usage
Define a simple blockchain:
from tinyblock import tinyblock #The initial variable should be a list of blocks. If not set it, the default chain would be an empty list. my_blockchain = tinyblock()
Add a block to the chain:
#The parameter is the data of this block my_blockchain.add('This is a block.')
Find a block with statement:
#Find the blocks with features below. The return elements will content the index in origin chain list. #Completely match: previous_hash, nonce, next_hash. #Partly match: data. (Currently support str, int, float, list, dict, bool and tuple) #Range match: timestamp.(Could be an int, list or tuple) my_blockchain.find(previous_hash='', timestamp='', data='', nonce='', next_hash='')
Pop the last block of the chain:
my_blockchain.pop()
Check wether the blockchain is anything correct:
my_blockchain.chainCheck(print_option=True)
Fix the blockchain(with start and stop index):
my_blockchain.chainFix(start=0, stop=4)
Get the block list:
my_blockchain.getChain()
Customise the rule for mining new block:
#The default rule is hash start with '0000'. #To change the rule, you can override the mineRule function. def newRule(hash): if hash[0:5] == '0'*5: return True return False my_blockchain.mineRule = newRule
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
tinyblock-0.2.0.tar.gz
(4.0 kB
view details)
Built Distribution
File details
Details for the file tinyblock-0.2.0.tar.gz
.
File metadata
- Download URL: tinyblock-0.2.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ebfc13d44d3b56560bc2c2e869e05e8319f61c010f2789d22863a12a0d7b9f17
|
|
MD5 |
83e8a0ce5b1c122155534978361d897e
|
|
BLAKE2b-256 |
f605e9ba7fca7e2886d3841f7d54b635c571b237f31e3e0488c5b6f6c0b22921
|
File details
Details for the file tinyblock-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: tinyblock-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d90da78a1aade97e05cf675f08c32b5f671dc433a095eea14f3283cf8b29837c
|
|
MD5 |
9312ec541beba517a29f584b5db5621a
|
|
BLAKE2b-256 |
a1fcfa11420d5bd4199c66b6ead1ff6bc37329a673237a8017485964943c1837
|