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))
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|