Data feed market on the Ethereum blockchain.
master
Extends the simplest
implementation with more featueres on-chain
- The Provider of the data / the sensor owner registers the sensor on the blockchain
- The Buyer finds the sensor through some kind of discovery app and gets it's record from the blockchain
- The Buyer reviews records and sends the given amount of ether
- The Buyer follows the contract help string on how to get the data
- The sensor checks if the Buyer has access
Only getting sensor data off-chain.
- Frontend. Header (menu, select account), material design, react? Price in ether, time in minutes. Display contract being stored.
- One sensor can have many different contracts
- Tests for all use cases
- Discovery of available data sources How to aggregate active sensor contracts over time? Oracle outside of the blockchain? Gossiping mellom alle klienter? Eller gi oppgaven til gateways?
- Rewrite using newly proposed Condition-oriented programming
- Security audit
- The contract needs funds to send ether in the withdraw function. Take a 0.1% premium? Has to 1. always be enough to widthdraw. 2. Needs a contract widthdraw so that the contract doesn't hold a lot of unusable ether
- Reputation - or ratings at least. Is this feed delivering what's promised?
- Payment Channel using e.g. obscurien's implementation or void4's implementation
- Evaluate permissioned blockchain where Providers are kinds for optimalization e.g. HydraChain, HyperLedger, MultiChain
- Test in real environment with real data from a sensor is being purchased
- Display prices in USD (and other currencies?) Not completely sold on this one. If the price is actually in ether, but shown in dollars can you end up paying a different amount than expected. In the payment channel scenario at least. Without the payment channel the purchase is completed at the same time that the price is displayed. With an accepted price in USD, but actually done in Ether, is it possible to envision a solution where both parties keep the deal running as long as the ratio between eth/usd is within a given threshold.
- Support USD or other ways of payment e.g. Stipe
- Who deactivates offline sensors? There's a function for the owner doing it, but we can't rely on the owner to clean up the registry.
- How to aggregate, find and filter available data feeds?
- With most features moved on-chain with Payment Channels, how to move the actual data on-chain?
- Node
npm install -g ethereumjs-testrpc
(good luck installing this. You're going to need it - especially on Windows)
npm install
testrpc
webpack-dev-server
Solution is hosted on http://localhost:8080