Skip to content

In this project I have built a blockchain-based ledger system, completed with a user-friendly web interface. This ledger would allow hypothetical partner banks to conduct financial transactions on the blockchain.

Notifications You must be signed in to change notification settings

CamGould/Local_Blockchain_with_PyChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Creating a Local Blockchain using PyChain Ledger

A Blockchain-Based Ledger Project with a User-Friendly Interface

Created by Cam Gould for the University of Toronto Fintech BootCamp

Background Information

For this project I will be a hypothetical fintech engineer who’s working at one of the five largest banks in the world. I've been recently promoted to act as the lead developer on their decentralized finance team. My task is to build a blockchain-based ledger system, complete with a user-friendly web interface. This ledger should allow partner banks to conduct financial transactions (that is, to transfer money between senders and receivers) and to verify the integrity of the data in the ledger.

In this assignment, I will use the PyChain Legder to build a blockchain that runs locally and can be interacted with and verified using a user-friendly Streamlit interface.

Project Files

Use the following link to jump right into the Python Code:

This notebook contains the Python Code of the Streamlit App

Project Outline and Instructions

To create the PyChain Ledger and Streamlit App I will complete the following steps:

  1. I will create a new dataclass called Record.
    1. This class will serve as the blueprint for the financial transaction records that the blocks of the ledger will store.
  2. Create and modify the existing Block data class to store Record data.
  3. Add Relevant User Inputs to the Streamlit interface.
    1. These user input interfaces will allow the user to transact, interact, & verify aspects of the PyChain.
  4. I will preform transactions on the local blockchain to showcase how its usage.

Streamlit Theme Settings Used in the Demonstration

If you like the visual apperance of my application you can replecate the theme in your own using the following custom streamlit theme:

[theme]

# Primary accent for interactive elements
primaryColor = '#30C731'

# Background color for the main content area
backgroundColor = '#F7F7F7'

# Background color for sidebar and most interactive widgets
secondaryBackgroundColor = '#DADAD8'

# Color used for almost all text
textColor = '#01011E'

# Font family for all text in the app, except code blocks
# Accepted values (serif | sans serif | monospace) 
# Default: "sans serif"
font = "serif"

About

In this project I have built a blockchain-based ledger system, completed with a user-friendly web interface. This ledger would allow hypothetical partner banks to conduct financial transactions on the blockchain.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages