sarahm44 / pychain-ledger

A blockchain-based ledger system with Streamlit web interface that allows individuals to conduct financial transactions and verify the integrity of the data in the ledger.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyChain Ledger

Overview

In this repository my task was to build a blockchain-based ledger system, complete with a user-friendly web interface (using Streamlit).

This ledger should allow individuals to conduct financial transactions (that is, to transfer money between senders and receivers) and to verify the integrity of the data in the ledger.

Required Tasks

I was required to make the following updates to the provided Python file:

  1. Create a new data class named Record.
  2. Modify the existing Block data class to store Record data.
  3. Add Relevant User Inputs to the Streamlit interface.
  4. Test the PyChain Ledger by Storing Records.

Step 1: Create a Record Data Class

I defined a new Python data class named Record.

I gave this new class a formalized data structure that consists of the sender, receiver, and amount attributes.

Alt_text

Step 2: Modify the Existing Block Data Class to Store Record Data

I renamed the data attribute in the Block class to record, and then set it to use an instance of the new Record class that I created in the previous section.

Alt_text

Step 3: Add Relevant User Inputs to the Streamlit Interface

I coded additional input areas for the user interface of your Streamlit application.

I created these input areas to capture the sender, receiver, and amount, for each transaction that will be stored in the Block record.

Alt_text

Step 4: Test the PyChain Ledger by Storing Records

I tested the complete PyChain ledger and user interface by running the Streamlit application and storing some mined blocks in the PyChain ledger.

Alt_text

I then tested the blockchain validation process by using the web interface.

Alt_text

About

A blockchain-based ledger system with Streamlit web interface that allows individuals to conduct financial transactions and verify the integrity of the data in the ledger.


Languages

Language:Python 100.0%