We want to connect every kid in the world to the best services the internet has to offer and in order to do that we need to connect every school in the world to an appropriate supply of gigabytes. We need to figure out how to pay for that connectivity and account for those payments in a fair and transparent manner. We need a blockchain based system for dynamic load balancing, accounting and arbitrage across multiple different chains of value from connectivity to energy to IOT sensors in the schools to create new economies and make this effort self-sustaining. Systems exist for doing this type of monitoring in the fields of connectivity and electricity but they are mostly built for more wealthy and well-connected environments.
UNICEF already has 600,000 schools mapped, 120,000 of which have connectivity data. You can learn more at http://school-mapping.azurewebsites.net/. This is just the start - we’re looking to the community, leveraging blockchain accounting and transparency & crypto for financing, on how to bring connectivity to every child.
Develop a way to transparently connect and manage school connectivity around the world, creating a reality where young people have access to opportunity but also to create value for themselves in their communities.
We envision this system having several parts to it, including:
Donor (for example, a government) visits a website and can direct funding to connecting districts around the world to get schools in remote areas connected. This is different to projects like 'give directly' or others that are 1:1. Instead of donating directly to a specific school or user, we need to think about how a government / institution with 1M$+ could correctly allocate resources…at scale.
ISP can view the number of unconnected schools in a specific district and provide a cost estimate to get the schools connected - this isn't for a single ISP - but rather to allow sets of ISPs or others in "connectivity" game - Mobile Network Operators, etc. - to look at pooling their capacity and providing gigabytes/connectivity where it is needed.
ISP, donors and general public can leverage data from this dashboard to view the connectivity for each district. When ledgers are public and the accounting is being done for the system in a straightforward manner, it will then be clear when and where there is an ability to meet service contracts.
Mobile network operators, and other service providers will have connectivity data in the public domain, while investors, funders and users will be able to track and understand connectivity better. Smart contracts can adjudicate contractual status in realtime (i.e. if a provider isn't providing…the contract can automatically move to a next vendor etc.)
List your assumptions: where is this, what is the scope, etc.
Readme with setup instructions and explanations for implementation details
All code (Variables, function names, comments, etc.) is in English
Open source code (link must be shared via GitHub)
Submit link(s) to working (D)App / tool / API
Web application must have a working front-end
Two of the four buckets of work complete, including requirements listed below
Donor visits a website and can donate money directly to connecting districts around the world to get schools in remote areas connected
Donor visits website and can see connectivity stats for different districts
Donor can view the cost of connecting “unconnected” schools for different districts
Donor can send crypto to district
ISP can view the number of unconnected schools in a specific district and provide a cost estimate to get the schools connected
ISP can view the connectivity stats for different districts
ISP can provide a cost of connecting the “unconnected” schools for different districts
ISP, donors and general public can leverage data from this dashboard to view the connectivity for each district
Users can see a list of districts Users can select a specific district and view the schools related to the selected item
Users can view the schools that are connected and not connected for that district
Users can see the status of that district (e.g. if donors have provided funding, if ISPs are engaged, number of schools connected and not connected etc.)
ISP will be required to update donors and the general public about the connectivity in districts around the world
ISPs are responsible for updating users on an ongoing (can be daily, weekly, etc.) basis re. the connectivity for a specific district
If the ISP fails to grant a minimum download and upload speed for more than n (can be days, weeks, etc.) duration of time, the ISP will not receive funding from donors
If the ISP fails to grant a minimum download and upload speed for more than n (can be days, weeks, etc.) duration of time, the solution will change to a new ISP , which is than responsible for providing internet to the district
Reports should be generated at an ongoing basis re. the connectivity of schools for the district that the ISP is providing connectivity for and donors are providing funding for
This project allows people to donate Eth to specific countries to pay for internet service to schools. It monitors the connectivity of each school with a chrome extension that needs to be installed on each computer at the school. The data collected from the extension gets sent to a server. This data is then used to determine if the internet service provider (ISP) is performing above a threshold or not. This data gets sent to the smart contract through a Chainlink oracle and gets used to allow the ISP to call the withdraw function.
The magicbox-app is the front end. In the corner is the donation component. When a country on the map is selected it grabs the name. That gets sent along with the donation amount (in Eth) to the smart contract.
The smart contract, DonationsManager, is in the chainlink folder. It extends Ownable, allowing only owners to call certain functions. It holds all of the donations, currently organized by country. ISPs and their monthly fees are entered by the owners. Currently deployed on Rinkeby at 0xaf5849d6454bfd00820bfa6c645120efad7a5fd1
The chrome extension downloads an image of known size, measures the time to complete, and reports that to the server at regular interval. The icon in the tray changes color based on the speed data.
The server collects the data from the chrome extension, determines if the threshold was met, and serves an endpoint for the Chainlink oracle to call.
This project is a proof of concept build at the EthNewYork hackathon. The plan is to turn the repo into an open source project with a clear roadmap and guidelines to contribute. The ‘wiki’ will have background information for the project. ‘Issues’ will have tasks that are ready for development. The ‘projects’ are scrum boards for each micro-service. The telegram channel for the project is Telegram: Contact @Blocksolid