This is a project for a university workshop demonstrating how to build a Blockchain-Based Access Control. The application allows users to invoke an event that signifies their eligibility to access an object.
- Blockchain: Hardhat (local Ethereum node)
- Smart Contracts: Solidity
- Backend/UI: Python with Streamlit
- Environment: Docker & VS Code Dev Containers
This project is configured to run in a VS Code Dev Container, which creates a consistent and reproducible development environment.
- Git: Download & Install Git
- Docker Desktop: Download & Install Docker (make sure it's running!)
- VS Code: Download & Install VS Code
- VS Code Dev Containers Extension: Install this from the VS Code Marketplace.
-
Clone the repository:
git clone https://github.com/christopherwira/bbac-workshop.git
-
Open the project in VS Code:
cd zkSudoku code .
-
Reopen in Container: A notification will appear at the bottom-right corner asking you to "Reopen in Container". Click it.
VS Code will now build the Docker containers and set up the entire development environment for you. This may take a few minutes on the first run.
Once the container is built and you are inside the dev environment, you can run the application or the tests.
To ensure your entire environment is configured correctly, run the end-to-end test suite. Open a new terminal in VS Code (`Ctrl+Shift+``) and run:
python -m unittest tests/test_full_flow.py