Skip to content
A blockchain implementation in python and django
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A blockchain implementation in python and django as the backend. It builds largely on the sources linked in the resources section. Theme is by Bootswatch

See it in action


  1. Multiple wallets per user and saving in a Django database (not recommended in a production system)
  2. Signed transactions using private key
  3. Node registration
  4. User registration (optional). To keep things simple, registration only requires a user to provide an email (not necessarily valid, but format is important) and a unique screen name (for identification)
  5. Cannot transfer more coin than you have in your wallet
  6. Anybody can mine a block, but there must be at least 3 pending transactions before block can be mined.



This view shows a list of all blocks on the blockchain. A list of all signed and verified transactions that have not been added to a block are also shown

Wallet Index

This view shows a list of all wallets in the system. The wallets are stored in a Django database with the following fields

alias Identifier to help a registered user differentiate between their various wallets. Must be unique for user

owner The registered user who creates the wallet. Field is auto-filled for logged in user

public_key The wallet address or public key

private_key The wallet private key. Only the user who owns this wallet can see this key, in their dashboard

balance The amount of coin balance in the wallet

Transactions Index

List of every single transaction in the blockchain

Nodes index

List of all registered nodes

Account view

View user's account and all the wallets they own


  1. Learn Blockchains by Building One
  2. A Practical Introduction to Blockchain with Python
  3. Blockchain demo

To do

  1. Subtract coin from sender. Add coin to receiver
  2. Limit total coin to amount in COINBASE
You can’t perform that action at this time.