Skip to content

hari-dev-003/BlockCertify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“œ BlockCertify: Decentralized Event Certificate Issuer

πŸ“ Short Description

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.


βš™οΈ Tech Stack Used

  • Smart Contract: Clarity (Stacks Blockchain)
  • Frontend: React.js, TypeScript
  • Blockchain Integration: Stacks.js, Hiro Wallet (Stacks Connect)
  • Storage: Gaia (for certificate templates)
  • Testing: Clarinet

πŸ› οΈ Setup Instructions

  1. Clone the repository

    git clone https://github.com/hari-dev-003/BlockCertify.git
    cd blockcertify
    
  2. Install dependencies

    npm install
    
  3. Configure environment variables

    • Create a .env file in the root directory:
      REACT_APP_CONTRACT_ADDRESS=ST3J2GVMMM2R07ZFBJDWTYEYAR8FZH5WKDTGJ3G6D
      REACT_APP_NETWORK=testnet
      
  4. Start the frontend

    npm start
    
  5. (Optional) Run contract tests locally

    clarinet test
    

🏦 Smart Contract Address


πŸš€ How to Use the Project

For Issuers (Organizations)

  1. Connect your Hiro Wallet.
  2. Go to the Issue Certificate page.
  3. Fill in:
    • Certificate ID (unique number)
    • Participant Name
    • Event Name
    • Date (YYYY-MM-DD)
    • Template URL (optional)
  4. Submit and sign the transaction.
  5. The certificate is now permanently recorded on the blockchain.

For Participants / Verifiers

  1. Go to the Verify Certificate page.
  2. Enter the Certificate ID.
  3. Instantly view all certificate details, including the issuer, participant, event, date, and template.

🧠 Smart Contract Analysis

  • 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.

πŸ“Έ Screenshots / Demo Video

Contract Deployment Contract deployed Screenshot


🌟 Quality Checklist

  • 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! πŸš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published