A blockchain for human
Project description
A blockchain, coin or building tools for human. It doesn’t include servers.
Getting Started
Installation:
pip install easy_blockchain
Create your first wallet and add your first transaction:
from easy_blockchain.wallet import Wallet from easy_blockchain.blockchain import Block, BlockChain # Create the first user wallet = Wallet() user01 = wallet.getPublicKey() trans01 = wallet.create_transaction('test01', 1, 0.5, 'one message') trans02 = trans01.copy() # create a forgery attack print('Check if a forgery attack have same as real transaction') print('trans01 == trans02', trans01 == trans02) # Create the second user wallet02 = Wallet() user02 = wallet02.getPublicKey() trans03 = wallet02.create_transaction(user01, 1.5, 0.12,'user02 send to user01')
In miner side, the miner receive your transaction, add it to blockchain and mining:
# add transactions to a block block = Block() block.add_transaction(trans01) block.add_transaction(trans02) # check adding a forgery attack block.add_transaction(trans03) # check how many transactions were added print('--------------------------------------') print('The block 1 have 2 real transaction:') print(json.dumps(block.transactions, indent=2)) # create a blockchain and become an miner coin = BlockChain() # mine a proof proof = coin.mine_proof() print('The first proof is:',proof) # save blockchain to local database coin.save_chain()
The blockchain also provides balance and history of trading:
print('--------------------------------------') print('The transaction history and the balance of users:') mycoin = coin.get_history(user01) print('User: user01 balance:', coin.get_balance(user01)) print(json.dumps(mycoin, indent=4)) mycoin = coin.get_history(user02) print('User: user02 balance:', coin.get_balance(user02)) print(json.dumps(mycoin, indent=4)) mycoin = coin.get_history(user03) print('User: user03 balance:', coin.get_balance(user03)) print(json.dumps(mycoin, indent=4))
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
easy_blockchain-0.1.6.tar.gz
(7.3 kB
view details)
Built Distribution
File details
Details for the file easy_blockchain-0.1.6.tar.gz
.
File metadata
- Download URL: easy_blockchain-0.1.6.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0465d50517f13e601befbe64847cd3b7a0f4429e90098d1a7dbf1a8d4ad8e9b |
|
MD5 | eab63a736cf62e5d826dba990c793377 |
|
BLAKE2b-256 | 6aa1a9a93e3a6070ce441d08752d9c0582724ff10ddfba317ada84c53c04edf7 |
File details
Details for the file easy_blockchain-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: easy_blockchain-0.1.6-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f09e1ee7059b330a7aa6e83ead02c84f1482abfeec6dd0b83e16e07d2dead97 |
|
MD5 | b55c29bf3bdee45205d370542a7c5187 |
|
BLAKE2b-256 | f51c46ce3cf68938f30f08d5e196781a0afe22b8be581caaeb85cb9d2be9e58f |