GithubHelp home page GithubHelp logo

impro's Introduction

Impro

Image securing using golang and ethereum smart-contracts

EE-552 Media Security class project

Impro for image protection not for improvisation

What is impro?

Impro is a command line interface tool written in go. It lets you timestamp and upload a perceptual hash of an image, the goal being to be able to provide a proof of ownership for a given image. One can then transfer or buy the image rights.

Disclaimer : this is a proof of concept application and should be used as such.

➜  impro git:(master) ✗ ./impro
NAME:
   impro CLI - interact with the impro smart contract
   
VERSION:
   1

COMMANDS:
     buy        Buys the right to an image
     change     Changes the price of an image
     deploy     Deploys a new impro contract
     exists     Verifies if the hash was already uploaded
     key        Sets the key for the current session
     owner      Gets owner of an image
     phash      Displays the pHash of an image
     price      Gets price of an image
     register   Registers an image. Given a filename, will create the perceptual hash and upload it to blockchain with a price.
     show       Displays configuration file
     timestamp  Gets timestamp of an image
     transfer   Transfers the ownership of an image
     whoami     Displays address of current user
     help, h    Shows a list of commands or help for one command

How to build?

git clone https://github.com/hugoroussel/impro
cd impro
go build
./impro

What is the impro smart contract?

The impro smart-contract is written in solidity and runs on the Ethereum blockchain.

Currently the contract lets you register a perceptual hash and timestamps it. You can then transfer the rights to another account, change the price and sell it to others in a peer to peer way.

Built with

impro's People

Contributors

hugoroussel avatar

Watchers

James Cloos avatar  avatar

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.