Blockchain-based ledger, with Streamlit web interface.
Web-blockchain is an application which allows the user to view, add, and validate blocks on a blockchain, via a web interface.
Web-blockchain applicaton will use python, and highlight the Streamlit web interface library, along with the use of Python classes as they pertain to modeling Record, Block and Chain dataclasses.
High-level steps:
- Create a
Record
data class which will encapsulate the data in the transaction of the block. - Update the
Block
class to work withRecord
data. - Add Web UI functionality via Streamlit which handles
sender
,receiver
andamount
, and works with theRecord
data type.
Submission:
- Final web application
- videos of testing and running application (see below)
This challenge uses python 3.7 and the following modules:
See installation and usage below for specifics.
You will need Python 3.7, that supports for this application to run. An easy way to install python 3.7 is to download and install Anaconda. After installing anaconda, open a terminal/command-prompt, and setup a python 3.7 environment, and then activate it like so:
# create an anaconda python 3.7 environment
# name can be any friendly name to refer to your environment, eg 'dev'
conda create --name dev python=3.7 anaconda
# activating the environment
conda activate dev
# use pip to install the above modules, eg:
pip install dateutil
...etc...
To run the application, use the CLI and launch streamlit like:
# activating the environment
conda activate dev
# change to application directory
cd <repo_root>/app
# launch streamlit application
streamlit run pychain.py
MIT