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 hashes)
Built Distribution
Close
Hashes for tinyblock-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d90da78a1aade97e05cf675f08c32b5f671dc433a095eea14f3283cf8b29837c |
|
MD5 | 9312ec541beba517a29f584b5db5621a |
|
BLAKE2b-256 | a1fcfa11420d5bd4199c66b6ead1ff6bc37329a673237a8017485964943c1837 |