Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 2.18 KB

README.md

File metadata and controls

36 lines (29 loc) · 2.18 KB

GRYD

Overview

GRYD, a deventralised EVM-compatible database specifically designed for IoT applications. An effective solution could significantly enhance data security, scalability, and integrity in the IoT realm, fostering innovation, growth, and the evolution of this revolutionary technology.

Target audience

The target audience is anyone who has the need to store IoT data wanting their data to be secured. Broader industry implications benefit those IoT companies who want a more secure and scalable platform for IoT applications and those data producers who trade the unique data allowing more stakeholders to benefit from valuable insights.

Architecture

MVP use case

  1. The user e.g. business owner / end user inserts the data into the database.
  2. An event is generated on the smart contract and a http request is sent to the backend/node.
  3. The event will be generated by smart contract and the request will be full-filled by backend.
  4. The success or failure message will be sent to the user.

Further use case

  1. The user can insert / retrieve / update / delete their IoT data from the database.
  2. Staking mechanism decides which node(s) proceed with the request.
  3. The user can interact with the selected node with their IoT data.
  4. With GRYD exposed API, there will be a possibility to package the IoT data in the database into NFT.
  5. Generated NFTs could be traded on the marketplace in the future.

Setup

Requirements

  • Go version 1.20
  • You would need env.json file to run the node. Sample .env can be found in root dir of repo.
  • Download v0.11.0 of ipfs from provided assets in the following link
    • Start the ipfs node using:
      • $ ipfs init OR $ path-to-binary/ipfs/init
  • Download the IPFS migrations package from the following link
    • Unzip the contents, then run the following cmd in cmd line:
      • $ ./fs-repo-migrations -to 13
  • Clone the repo and run $ go mod tidy and then fill up the env.json file as referenced in env.sample.json.
  • Run $ go run ./cmd/main.go.