{"id":25175085,"url":"https://github.com/sarahm44/pychain-ledger","last_synced_at":"2026-04-30T07:31:51.590Z","repository":{"id":274260998,"uuid":"505684744","full_name":"sarahm44/pychain-ledger","owner":"sarahm44","description":"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.","archived":false,"fork":false,"pushed_at":"2022-08-10T05:04:10.000Z","size":1685,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-29T09:40:44.021Z","etag":null,"topics":["blockchain","cryptocurrency","d-app","dapp","fintech","ledger","pychain","streamlit","streamlit-webapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarahm44.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-21T04:08:15.000Z","updated_at":"2024-05-02T21:43:35.000Z","dependencies_parsed_at":"2025-01-26T05:28:44.861Z","dependency_job_id":null,"html_url":"https://github.com/sarahm44/pychain-ledger","commit_stats":null,"previous_names":["sarahm44/pychain-ledger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sarahm44/pychain-ledger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahm44%2Fpychain-ledger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahm44%2Fpychain-ledger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahm44%2Fpychain-ledger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahm44%2Fpychain-ledger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarahm44","download_url":"https://codeload.github.com/sarahm44/pychain-ledger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarahm44%2Fpychain-ledger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32458237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cryptocurrency","d-app","dapp","fintech","ledger","pychain","streamlit","streamlit-webapp"],"created_at":"2025-02-09T12:28:50.542Z","updated_at":"2026-04-30T07:31:51.572Z","avatar_url":"https://github.com/sarahm44.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyChain Ledger\n\n![](/Images/application-image.png)\n\n## Overview\n\nIn this repository my task was to build a blockchain-based ledger system, complete with a user-friendly web interface (using [Streamlit](https://streamlit.io/)). \n\nThis 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.\n\n## Required Tasks\n\nI was required to make the following updates to the provided Python file:\n\n1. Create a new data class named `Record`. \n2. Modify the existing `Block` data class to store `Record` data.\n3. Add Relevant User Inputs to the Streamlit interface.\n4. Test the PyChain Ledger by Storing Records.\n\n### Step 1: Create a Record Data Class\n\nI defined a new Python data class named Record. \n\nI gave this new class a formalized data structure that consists of the sender, receiver, and amount attributes. \n\n![Alt_text](/Images/screenshot_1.png)\n\n### Step 2: Modify the Existing Block Data Class to Store Record Data\n\nI 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. \n\n![Alt_text](/Images/screenshot_2.png)\n\n### Step 3: Add Relevant User Inputs to the Streamlit Interface\n\nI coded additional input areas for the user interface of your Streamlit application. \n\nI created these input areas to capture the sender, receiver, and amount, for each transaction that will be stored in the Block record.\n\n![Alt_text](/Images/screenshot_3.png)\n\n### Step 4: Test the PyChain Ledger by Storing Records\n\nI tested the complete PyChain ledger and user interface by running the Streamlit application and storing some mined blocks in the PyChain ledger. \n\n![Alt_text](/Images/screenshot_4.png)\n\nI then tested the blockchain validation process by using the web interface. \n\n![Alt_text](/Images/screenshot_5.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahm44%2Fpychain-ledger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarahm44%2Fpychain-ledger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarahm44%2Fpychain-ledger/lists"}