An open API service indexing awesome lists of open source software.

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.

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
```