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.1.1.tar.gz
(2.3 kB
view hashes)
Built Distribution
Close
Hashes for tinyblock-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c7bdd77e7031fcdc6aa09eb33101a8cf612a768c499fa7810f97d332641e36b |
|
MD5 | 05e1a02d0d7cae7e67e6eaf503923081 |
|
BLAKE2b-256 | 886c37e172430ea1e49a08f6237a6149077b9668df72f2ad43eb3e366b9bf42e |