Image theft and copyright issues have been increasing rapidly with the rise of the internet. Therefore, copyright protection of images has become an unavoidable issue. Blockchain is a distributed database that provides a secure yet transparent way to protect any type of records. Our system gives users an option to encrypt their personal information with their piece of art and register it on blockchain, at same time using image processing algorithms it makes sure no duplicacy or piracy of your work.
- Firstly we have to provide the details of owner i.e. owner name, owner email, image title and image.
- By clicking on submit it will checks in the Blockchain for duplication and privacy using Perceptual Hashing technique.
- If the selected image is registered in the blockchain it will stop execution by showing the name of its original owner, else the image will be sent to the Flask server (localhost:5000) for its watermarking by using Discrete Cosine Transform (DCT) and Discrete Wavelet Transform (DWT).
- A QR Code is generated by using the owners personal info and the perceptual hash of the image then this QR will be watermarked with our image.
- After that the generated QR code and watermarked image is displayed on screen.
- Down there it asks permission for uploading generated watermarked image to IPFS(InterPlanetary File System) where IPFS stores the image in a folder and gives us a unique hash address for the uploaded image.
- Now, we can deploy our watermarked image to our Blockchain.
- When we click on Deploy to Blockchain button, Metamask will ask for the deduction of ethers from our linked account.
- When we are done with the payment, the image will be successfully deployed to the Blockchain.
0. Clone this repository using command git clone https://github.com/Yash2412/copyright-management/
into your system.
- Open Ganache and create a new ethereum workspace
- Ganache will give 10 free accounts, copy the private key of any account.
- Install and login to Metamask extension on your browser.
- Click on import account under my accounts then paste the copied private key.
- Under networks section add a custom RPC with url
HTTP://127.0.0.1:7545
. - Your local Blockchain has started on http://localhost:7545/
- Open terminal window in the current working directory.
- Change directory to /watermark by
cd watermark
. - Create a virtual environment in this directory using virtualenv python package.
$ pip install virtualenv
$ virtualenv venv
$ python -m pip install -r requirements.txt
$ venv\Scripts\activate
- Running Flask Server by
python main.py
- The Flask server has started and is running on port http://localhost:5000/.
$ npm i
$ truffle compile
$ truffle migrate
4. Running Lite Server on http://localhost:3000/
npm run dev