The blockchain-based certificate issuing and verification system using IPFS and Solana PDAs offers several practical applications and benefits:
Education and Credentials: Educational institutions can issue digital diplomas and transcripts, making it easy for graduates to prove their qualifications. Employers and academic institutions can efficiently verify credentials.
Professional Certification: Professional bodies and organizations can use the system to issue digital certifications for various industries. This streamlines the certification process and ensures the authenticity of qualifications.
Corporate Training: Companies can issue digital certificates to employees who complete training programs. These certificates can be quickly validated during the hiring process or audits.
Efficient Verification Services: Third-party verification services can access the Solana blockchain to provide quick and cost-effective certificate verification. This can be especially valuable for HR departments, educational institutions, and recruitment agencies.
Reduced Administrative Burden: Educational institutions and organizations can ***automate the certificate issuance ***process through smart contracts. This reduces administrative overhead and ensures compliance with predefined rules.
Stuck at initializing PDA:
First time initializing Dynamic PDA's where the User account is not variable, rather the other seed is.
Didnt know how to pass the Certificate ID as the seed
Solved by calling it as a
#[instruction(_id:u32)]
and passing it as a lower endian byte array using theto_le_bytes()
methodVerifying the Issuer key:
Didnt know how to check the whether the issuer is a valid or not on-chain.
Solved by passing a Vec of publickeys as a parameter to the smartcontract and performing lookups using
if !_access_control.contains(&ctx.accounts.issuer.key)
Switching Decentralized Storage:
Planned to use Arweave for the storage of images, shifted to Bundlr due to lack of Arweave tokens.
Implementing Bundlr SDK was hectic so we decided to go with an easy onbaording IPFS that we were familiar with, called ZDFS by Zeeve.
Chakra UI:
Understanding how to build NextJS apps using Chakra UI was time consuming , but beneficial as the UI looks great.
Tracks Applied (2)
Filecoin
Solana
Technologies used
Discussion