GithubHelp home page GithubHelp logo

ntua / blockchain-istsos Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 9.91 MB

Integration of OGC SOS compliant measurements into a blockchain

Solidity 5.01% JavaScript 14.94% CSS 3.34% EJS 46.97% Python 29.73%

blockchain-istsos's Introduction

Blockchain implementation for data security using IstSOS and DApp

This project is a development of a model that guarantees the assurance of spatially referenced time series of metric data using decentralized application.

Details

  • Data are separated to txt files according to meteo stations and stations are organized to regions.
  • The user can upload new metric primitive meteo data using the DApp. Data are uploaded both IstSOS platform and blockchain network simultaneously. To make it happen data are transformed according to SOS api standard and are posted to IstSOS platform with a post request. The same time, data are stored to a private Ethereum blockchain.
  • Also, user is able to visualize data on graphs for specific station, datetime and sensor or can download these data to a JSON file format.
  • Furthermore, user has access to blockchain history table for every single transaction ever happened on blockhain.
  • Lastly, the user have the ability to verify his local data files with the original ones on blockchain network.

Languages and Tools

  • EJS/JavaScript
  • Python (for converting txt primitive data files to JSON object)
  • Solidity (for smart contract)

Smart Contract

A smart contract need to be written for the blockchain to be operational. The smart contract organizes its contect in Files, Days and Global structs and matches every meteo uploaded file with a File struct by:

  • fullname
  • name of station
  • hash value of its data
  • first and last measurement from this file and
  • address of node of blockchain which make this transaction.

The smart contract also include function for input, output and verification:

  • addFile: Add file to blockchain with the above specifications.
  • getFile: Export the last valid file that the user has requested.
  • getFileVertions: Export all the different vertions for a specific day of the file that the user has requested.
  • getFileHistory: Export all the files for a specific station per day according to the user request.
  • getAllFiles: Export the complet blockchain network with every file ever added.
  • verifyHash: Verify if a file exist in blockchain network.
  • verifyRegion: Verify that the region of the station of the uploading file matches the region tha the user is connected.

Thesis Information

Implementation of a private permissioned blockchain for geospatial data.

  • Diploma thesis by Pitsolis Giorgos
  • Supervisor Prof. Vassilios Vescoukis

Abstract

The objective of this thesis is the development of a model that guarantees the assurance of spatially referenced time series of metric data using standard web services. This model foundations is the implementation of a blockchain network that cooperates with the standard service of istSOS platform, aiming optimal data management and maximum data security. This model was developed based on real data provided by the organization of the National Observatory of Athens using the technology of a private Ethereum blockchain. Initially, data were processed according to istSOS standard to ensure compatibility and identify and correct possible errors. Data uploading took place simultaneously at istSOS platform and the blockchain network. In parallel, a user-friendly decentralized web application was created to facilitate the smooth coexistence of both technologies. The decentralized application’s main features were the simultaneously data uploading at istSOS platform and blockchain network, certification of the user's files with authenticated network records, visualization of the blockchain network, measurements display in a graph with specific standards and finally the ability to download these observations in JSON format file. From the results, it is concluded that such a model will ensure data protection and can be used in a wide range of applications in the future.

GUI

dapp-login

dapp-main

dapp-add-results-2

dapp-chart

dapp-timeline-verification-wrong

dapp-timeline-verification

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.