gakonst/thesis-code — explained in plain English
Analysis updated 2026-08-04 · repo last pushed 2022-12-08
Build a peer-to-peer energy trading platform where neighbors sell excess solar power with automated blockchain billing.
Audit smart contracts for security vulnerabilities using the Slither testing approach before deploying them.
Compare gas costs of optimized smart contracts against a baseline to evaluate efficiency improvements.
Prototype a blockchain-based electricity metering system for a microgrid or campus environment.
| gakonst/thesis-code | aa2246740/ultimate-design | aclark4life/home-depot-crawl | |
|---|---|---|---|
| Stars | 6 | 6 | 6 |
| Language | Python | Python | Python |
| Last pushed | 2022-12-08 | — | 2014-08-10 |
| Maintenance | Dormant | — | Dormant |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | researcher | vibe coder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an Ethereum development environment and understanding of smart contract deployment, gas mechanics, and the Slither auditing tool.
This repository holds the code and research from Georgios Konstantopoulos's university thesis on using Ethereum's blockchain to track energy consumption and handle billing automatically. The core idea is to make electricity metering and payments more transparent and secure by recording usage on a blockchain instead of relying on a central utility company or middleman. At a high level, the system uses "smart contracts", self-executing programs that live on the Ethereum blockchain, to record how much energy a household or business consumes and then calculate what they owe based on predefined rules. Because these contracts run on a public blockchain, the billing logic is auditable and tamper-resistant: no single party can secretly alter the rates or the meter readings after the fact. The repository is organized into a few research threads. One folder explores ways to make smart contracts cheaper to run by reducing the amount of data they store, since every operation on Ethereum costs a small fee (called "gas"). Another folder focuses on security, testing a tool called Slither that scans smart contracts for vulnerabilities before they go live. A third folder contains the actual meter-and-bill implementation, and a final section compares the gas costs of the proposed efficiency improvements against a baseline. The people who would care about this are energy companies, grid operators, or startups exploring peer-to-peer energy trading, for example, a neighborhood where homes with solar panels sell excess power directly to neighbors, with automated billing handled by a blockchain contract instead of a utility. Honda Research and Development Europe collaborated on the thesis, which signals interest from the automotive and mobility sector, possibly around electric vehicle charging scenarios. What's notable is the project's dual focus on both practicality and safety. Blockchain applications often struggle with high transaction costs and security bugs, and this work tackles both: it proposes a specific method to cut storage costs on Ethereum, and it validates an automated auditing tool against existing vulnerable contracts. The tradeoff, inherent to Ethereum itself, is that even with optimizations, running billing logic on a public blockchain still incurs per-transaction fees that centralized systems don't have.
University thesis code that uses Ethereum smart contracts to record energy consumption and automate billing, making electricity metering transparent and tamper-proof without a central utility company.
Mainly Python. The stack also includes Python, Ethereum, Solidity.
Dormant — no commits in 2+ years (last push 2022-12-08).
No license is mentioned in the repository, so default copyright restrictions apply and you should contact the author before using the code.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.