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.4.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for tinyblock-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 959e2224e45849dd16ef7e7255ed0b47894061662f6d121954319e10a8c6c248 |
|
MD5 | ea01e04b13362edeb6b724f36e605684 |
|
BLAKE2b-256 | 9f7e2d7cb0e9e78ba4e2778b590e479c7544594ed95a1b5787c285fc1c2ec6a0 |