Role Delegation:
Daniel Valiente (Network Infrastructure Lead) will implement the physical infrastructure using Raspberry Pi/ESP32 devices, develop Python programs for custom packet processing and bandwidth monitoring, and create the raw TCP/UDP socket communication layer between nodes. They will handle all sensor data collection including network statistics (bandwidth, latency, uptime) and implement the proof-of-bandwidth mechanism that feeds into the validation system.
Jay Aquino (Blockchain/Validator Lead) will develop the decentralized validator consensus mechanism, implement the blockchain or lightweight JSON ledger for transaction recording, and create the token minting and distribution logic. They will build the validator node software that processes incoming bandwidth proofs, validates transactions, and maintains the distributed ledger while ensuring all nodes can participate in the validation process.
Jesse Garcia (Application/Dashboard Lead) will create the web-based dashboard for network visualization, implement the wallet system with public/private key pair generation and transaction signing, and develop the RESTful API that connects the dashboard to the blockchain. They will build the user interface showing real-time network state, wallet balances, and transaction history, ensuring the system is accessible and easy to monitor.
Project Synopsis:
We brainstormed two models to develop a Community Wi-Fi Sharing Node system by deploying a Raspberry Pi device to share internet bandwidth via a token-based access system. The validation servers track each node’s uptime and data served, to compile this information into a local JSON ledger to manage wallet balances and token distribution. Below are the two models that we will be demonstrating:
Our first model, the Wi-Share Explorer, is an interactive platform that reads network statistics from the Wi-Fi sharing node and awards tokens based on its performance
Our second model, the Helldivers Method (named after the game), uses directional input as a form of user validation and grants tokens once the input is correctly completed.
Network Statistics:
Network statistics will show the client the diagnostics scope of the network they’re accessing including the Uptime (Total Data Served), Nodes Online, Current speed (measured in Mbps), and their Last Payout.
Check Wallet Balance:
By inputting the address for the node_id of the miner, the client is able to see their wallet balance for the tokens they have earned. This is done by the utilizing the wallet.py script which generates a public/private key pair for the user. After the pair is generated, the user must input the public key into the miner.py script to tie their "mining" to their public key. Their private key is used for buying items on our marketplace.
Token Marketplace:
The client can use the Token Marketplace to spend the tokens they have earned to access benefits among:
Premium Wi-Fi Access
Secret Node Map
Rare Validator Hoodie
Random Digital Art
Live Blockchain Feed:
The Live Blockchain feed is a real-time transaction log that display all network activity as it occurs. It polls the validator API every 15 seconds and shows:
Transaction Type: Color-coded labels indicating
USER REWARD (green), VALIDATOR FEE (yellow), or PURCHASE (purple)
Wallet Address: Truncated public key showing the first and last characters since it is a long 512-bit public key and serves as the wallet address
Amount: Token Value of the transaction with + or – indicators
Timestamp: When the transaction was recorded
Live Blockchain Feed:
The Live Blockchain feed is a real-time transaction log that display all network activity as it occurs. It polls the validator API every 15 seconds and shows:
Transaction Type: Color-coded labels indicating
USER REWARD (green), VALIDATOR FEE (yellow), or PURCHASE (purple)
Wallet Address: Truncated public key showing the first and last characters since it is a long 512-bit public key and serves as the wallet address
Amount: Token Value of the transaction with + or – indicators
Timestamp: When the transaction was recorded
Demo #2
(Helldivers Method)
Conclusion:
Challenges
Challenges our group encountered revolved around developing the project remotely entirely remotely as were unable to meet in-person. The solution we devised was to have each team member work independently on their portion of the algorithm and then share their files for integration. Once we assembled all the code, we were able to test the validation servers to award tokens which ensured our demo would run smoothly. However, new problems arose as on the day of our demo, the campus faced a Wi-Fi outage caused by a gas leak at the Academic Building. We were fortunately able to persevere by running our server through a mobile hotspot which ultimately reinforced the robustness and adaptability of our project’s design.
Improvements to incorporate
In the future, this project could be enhanced by developing a mobile app to monitor node performance and token balances, along with features like dynamic bandwidth allocation and greater fault tolerance. Additionally, implementing automated deployment tools or exploring mesh networking would improve scalability and resilience, further aligning the system with real-world decentralized infrastructure model
Takeaway
This project strengthened our understanding of networking, distributed systems, and blockchain implementation, but also gave us hands-on experience with socket programming, RESTful communication, and Raspberry Pi deployment. We also unexpectedly got to navigate security, fault tolerance, and real-world problem-solving when adapting to real-world issues like connectivity failures. Additionally, developing the project remotely required effective collaboration and code integration, further highlighting the importance of clear communication and modular design.