https://github.com/tenze21/cryptographic_verifiable_document_issuer
Building it as a part of spring semester 2025, PRJ202.
https://github.com/tenze21/cryptographic_verifiable_document_issuer
cryptography dapp digital-signature ethereum merkle-tree
Last synced: 2 months ago
JSON representation
Building it as a part of spring semester 2025, PRJ202.
- Host: GitHub
- URL: https://github.com/tenze21/cryptographic_verifiable_document_issuer
- Owner: tenze21
- Created: 2025-03-19T04:33:35.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-19T04:53:32.000Z (over 1 year ago)
- Last Synced: 2025-03-19T05:28:45.007Z (over 1 year ago)
- Topics: cryptography, dapp, digital-signature, ethereum, merkle-tree
- Language: JavaScript
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cryptographic Document Verifier.
- **Issuing verifiable digital documents.**
- **Verifying digital documents.**
## Build with.
- **[vite](https://vite.dev):** For fast javascript bundling.
- **[Wagmi](https://wagmi.sh/react/getting-started):** Offers support for multiple wallet connections and chains (sepolia, mainnet, polygon...) and simplifies handling wallet connections and transactions with it's easy to use hooks with minimal setup. Important files include [wagmi config](./client/src/wagmi_config.js).
- **[redux toolkit](https://redux-toolkit.js.org/introduction/getting-started):** For state management. On top of state management *redux toolkit* also simplifies handling API requests to the server getting rid of the need to write multiple fetch requests, this keeps the code clean. Important files include [store.js](./client/src/store.js), [apiSlice.js](./client/src/slices/apiSlice.js).
## Setup Guide.
### Don't have *pnpm*?
**Open a terminal and run the following command**
```
npm i -g pnpm
```
- Clone repository.
```
git clone https://github.com/tenze21/Cryptographic_verifiable_document_issuer.git
```
- Get into client folder.
```
cd client
```
- Install client dependencies.
```
pnpm i
```
- Get into server folder.
```
cd server
```
- Install server dependencies
```
pnpm i
```
- Set up enviroment variables.
**Create a *variables.env* folder in the server folder and include the following:**
```
SESSION_SECRET= YOUR_SESSION_SECRET
PORT= PORT_NO.
NODE_ENV=development
MONGO_URI= YOUR_MONGO_URI
ENCRYPTION_KEY=32_CHARACTERS_ENCRYPTION_KEY
ADMIN_ADDRESS=MARKSHEET_SIGNER'S_WALLET_ADDRESS
SEPOLIA_RPC_URL=YOUR_SEPOLIA_RPC_URL
CONTRACT_ADDRESS=YOUR_DEPLOYED_CONTRACT_ADDRESS
```
- Start server
```
pnpm run server
```
- Start Client
```
pnpm run dev
```