Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/g-s01/ddoc-backend
Submission for Web3.0 Problem Statement in Kriti-2024
https://github.com/g-s01/ddoc-backend
Last synced: about 18 hours ago
JSON representation
Submission for Web3.0 Problem Statement in Kriti-2024
- Host: GitHub
- URL: https://github.com/g-s01/ddoc-backend
- Owner: g-s01
- Created: 2024-01-28T13:52:23.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-02-10T14:47:26.000Z (11 months ago)
- Last Synced: 2024-11-18T22:20:19.240Z (2 months ago)
- Language: Python
- Size: 3.18 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DDoc - Decentralized issuing, verification, and revoking of documents
This project was made as a solution to the problem statement by [Finance and Economics Club, IIT Guwahati](https://finnecoiitg.github.io/) in the Inter-Hostel Tech competition named [Kriti](https://kriti2024.onrender.com/). One can find the problem statement [here](PS.pdf).
## About
DDoc (**D**ecentralized **Doc**uments) aims to issue, verify, and revoke documents by educational institutions in a decentralized manner.
## Requirements
* [truffle](https://trufflesuite.com/)
* [ganache](https://trufflesuite.com/ganache/)
* [streamlit](https://streamlit.io/)
* account on [Pinata](https://www.pinata.cloud/)## Python library requirements
* `web3`
* `streamlit`
* `requests`
* `time`
* `cryptography.hazmat.backends`
* `cryptography.hazmat.primitives`
* `cryptography.hazmat.primitives.asymmetric`
* `dotenv`
* `os`
* `json`
* `PyPDF2`
* `hashlib`
* `cryptography.hazmat.primitives.serialization`
* `web3.middleware`
* `eth_account`
* `pathlib`
* `reportlab.lib.pagesizes`
* `reportlab.platypus`
* `reportlab.lib.styles`
* `pdfplumber`## Creating the `.env` file
One has to create a `.env` file for uploading documents on Pinata
The structure of the `.env` file is:
```
PINATA_API (API key given by Pinata)
PINATA_SECRET (Secret Key given by Pinata)
ABI (deployed contract ABI)
CONTRACT_ADDRESS (deployed contract address)
ACCOUNT (Metamask wallet public key)
PRIVATE_KEY (Metamask wallet private key)
````Contract DEPLOYED on SEPOLIA Network: 0x04b3AdDF4e17e5f3af108456785a1450eE5Aa18C`
## Running the file
To run the file, one can run the following commands:
* Run this is the project folder terminal
```
streamlit run application/Home.py
```# Note
One must have `Sepolia ETH` on Metamask account `0xB9b7444621afC6c6f3028434e675Cf974085957c` to actually run this web app