From 2a9a4f04fe0d3b6dbd3f310bbb2cb0107a0605c5 Mon Sep 17 00:00:00 2001 From: johngrantuk Date: Sat, 6 Jan 2018 21:13:59 +0000 Subject: [PATCH 1/2] Add files via upload --- Sat Bridge.jpg | Bin 0 -> 41095 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Sat Bridge.jpg diff --git a/Sat Bridge.jpg b/Sat Bridge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a3df7d8e63f116b64f4f854641a037718b9b65f GIT binary patch literal 41095 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%0D$z@|F}#~@w0#U93Kn+bVtCPld`kL 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 Date: Sat, 6 Jan 2018 21:18:28 +0000 Subject: [PATCH 2/2] Update README.md --- README.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index fecb605..a3e83e1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,69 @@ -# iexec dapps samples +# iExec Sat Bridge -This is the registry for sample iexec dapps, used by the iexec-sdk cli. +## DApp Description -Each branch name of this repo can be used as an argument to iexec init command. +This iExec application can link the Ethereum blockchain to a wide range of devices located anywhere on the globe. -ex: +Truly global connectivity is only achievable using satellite technology. Small, portable satellite routers allow users to track and communicate with any devices they can connect to. Now smart contracts can query a marine buoy in the middle of the ocean for data or receive location updates from a high altitude balloon or even receive an emergency message from deep in the mountains. -```bash -iexec init -iexec init factorial -iexec init echo -``` +## Why is it built on Ethereum + +The dApp will be built on Ethereum to allow the use of smart contracts, Ethereum is the most advanced smart contract platform and has a really supportive community. Developers can write a smart contract that can send or receive instructions/data to their satellite connected device. We’re connecting Ethereum smart contracts to globally connected devices. + +## Why does it use iExec + +iExec's Dapp store is a great platform for this Dapp to be listed, exposing it to a large user base. +iExec processes all communication between the DApp and the satellite device, e.g. decoding/parsing message details, processing info if required. +In the future users can write their own message processing/instruction sets for their specific application. They can allow other users to connect to their devices allowing them to rent out the control of the device or purchase data. + +## Implementation Presentation + +### System Diagram + +![Sat Bridge](https://github.com/johngrantuk/iexec-dapp-samples/blob/dapp-challenge/Sat%20Bridge.jpg "Sat Bridge") + +### Examples + +**Ocean Temperatures:** + +Vessel owners can instal Sat Bridge connected temperature sensors and sell the data to an Ethereum weather crowdsourcing Dapp. + +1. Upon execution, the external Ethereum Weather Dapp smart contract sends query request to Sat Bridge +2. Dapp/iExec processes query and sends to relevant satellite device +3. Device receives query, collects data and reply +4. Dapp/iExec processes reply +5. Dapp/iExec returns result to the Weather Dapp + +**Remote Logistics:** + +Logistics companies can instal Sat Bridge to vehicles or packages. Sat Bridge can be configured to send regular location updates which could update a location Dapp. Additional information such as temperature, humidity, etc could be sent allowing customers to gain confidence in quality. + +1. Remote Sat Bridge device is configured to send regular location updates +2. Dapp/iExec processes received update +3. Dapp/iExec forwards data to subscribed external contracts +4. External contracts use location + +## Roadmap + +**Milestone 1: Develop blockchain/iExec/satellite protocol & Sat Bridge API** ++ Build out functionality to transfer message over complete network. External Contract -> Sat Bridge Dapp -> iExec -> Satellite Network -> Device -> Return ++ Sat Bridge API developed and documented. Allows approved external contracts to send/subscribe to specific device. + +**Milestone 2: Proof Of Concept & Public Testing** ++ Instal live Sat Bridge device in sunny Scotland with following functionality: + + Send hourly temp, location and light level data to subscribed Weather Dapp (basic Dapp built to log data) + Allow any user to send messages to control pan/tilt and snap of remote camera via Snap Dapp + +**Milestone 3: Multi-device Registration** ++ Main Dapp developed to support multi-device: + + Allow users to register devices + Allow users to send/receive messages to their registered device via Dapp + Allow users to connect/approve external contracts for send/subscribe (via Sat Bridge API) + +**Milestone 4: Dapp payment mechanism** + +Establish dynamic message charges iExec charges & satellite network costs + +**Future work - device marketplace**