BlockCertify is a decentralized application (dApp) that allows organizations to issue tamper-proof certificates for events, workshops, and hackathons using the Stacks blockchain. Participants and third parties can instantly verify the authenticity of any certificate through the blockchain, ensuring trust and transparency.
- Smart Contract: Clarity (Stacks Blockchain)
- Frontend: React.js, TypeScript
- Blockchain Integration: Stacks.js, Hiro Wallet (Stacks Connect)
- Storage: Gaia (for certificate templates)
- Testing: Clarinet
- 
Clone the repository git clone https://github.com/hari-dev-003/BlockCertify.git cd blockcertify
- 
Install dependencies npm install
- 
Configure environment variables - Create a .envfile in the root directory:REACT_APP_CONTRACT_ADDRESS=ST3J2GVMMM2R07ZFBJDWTYEYAR8FZH5WKDTGJ3G6D REACT_APP_NETWORK=testnet
 
- Create a 
- 
Start the frontend npm start
- 
(Optional) Run contract tests locally clarinet test
- Testnet: ST3J2GVMMM2R07ZFBJDWTYEYAR8FZH5WKDTGJ3G6D
- View on Stacks Explorer
- Connect your Hiro Wallet.
- Go to the Issue Certificate page.
- Fill in:
- Certificate ID (unique number)
- Participant Name
- Event Name
- Date (YYYY-MM-DD)
- Template URL (optional)
 
- Submit and sign the transaction.
- The certificate is now permanently recorded on the blockchain.
- Go to the Verify Certificate page.
- Enter the Certificate ID.
- Instantly view all certificate details, including the issuer, participant, event, date, and template.
- Immutability: Once issued, certificates cannot be altered or deleted.
- Ownership: Only the transaction sender (tx-sender) is recorded as the certificate owner.
- Validation: String lengths are checked to prevent storage errors.
- Duplication Prevention: Certificate IDs are unique; duplicate IDs are rejected.
- Error Handling: Uses standard HTTP error codes (u400, u404, u409) for clarity.
- Clean, well-structured, and commented code
- Smart contract deployed on Stacks Testnet
- Repository includes frontend, contract, and README
- Clear setup and usage instructions
- Clarity code is explained with comments
Happy Building! π
