Skip to content

Polkadot-DevCamp-2022/certify

Repository files navigation

Certify by Team 1

Project

A platform for issuing certificates on the blockchain

System Flow image source: https://arxiv.org/pdf/1912.06812.pdf

Concerns

  • Certificates contain private information, which should not be stored on chain

Core Features

  • Issuers can issue and revoke certificates
  • Anyone can verify the certificate if they have the certificate information

Extended Features

  • Integrate with PolkadotJS Extension
  • Integration with Contracts Pallet to give organizations and users the flexibility to control the issuance and revocation of certificates by issuing Ink Smart Contracts
  • Store certificates in encrypted form on IPFS: https://rs-ipfs.github.io/offchain-ipfs-manual/

High-Level Overview

High Level Overview

UI

UI

Usage

Substrate Node

cd substrate-node-template
cargo build --release
./target/release/node-template --tmp --dev -lruntime::contracts=debug

Org Contract

cd org_contract
cargo +nightly contract build

Frontend

  1. Use https://polkadot.js.org/apps/#/contracts to deploy contract
  2. Update CONTRACT_ADDR field in certify-frontend/src/config/common.json to new contract address
  3. yarn install
  4. yarn start

Challenges

  • Ink and Substrate Node compatibility issues: 3.0.1 (v9.17) -> 3.1.0 -> 3.2.0 (v9.22)
  • Substrate is big

Future Improvements

  • Weight
  • Encrypted File Storage
  • Better frontend design and prevent memory leaks

References

Releases

No releases published

Packages

No packages published