Skip to content

FreddieLindsey/decent-data-client

Repository files navigation

Private, decentralised data-sharing

Build Status

Introduction

Since the introduction of centrally-held, government and corporation-authored ledgers the average citizen has slowly been giving up their privacy for the sake of convenience. However, 323 years since the Bank of England introduced paper money into the UK economy, this project serves as a proof of concept that we can share our data privately in a way which benefits the consumer and the producer equally.

Fundamentally, the user's privacy is vastly improved compared to current centralised systems, user control is (mostly) maximised, and the security of the network is upheld through being publicly verifiable and available.

Getting started

  • Blockchain technology
  • Off-chain storage
  • Decentralised, distributed client interface
  • Encryption gateway*

*This is not strictly necessary but at the moment it provides an essential part of the compute layer which is not feasible on Ethereum

Above are the key components that form the system. Below are instructions on how to run them locally.

# Blockchain technology (EthereumJS's testrpc)
yarn run testrpc

# Off-chain storage (IPFS)
yarn run services

# Client interface (webpack-dev-server / react)
yarn start

# Encryption gateway
yarn run dev

Note, these must be started in separate terminals.

Have fun!

Demonstration

For demonstration purposes, I have created a demo script that does the following:

  • Register doctor, patient_1, and patient_2
  • Assign doctor as a member of group GMC (a contract administered by the gmc account)
# Run the below once to inject data
yarn run demo

Releases

No releases published

Packages

No packages published

Languages