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

 
 
 

Contributors