A platform for issuing certificates on the blockchain
image source: https://arxiv.org/pdf/1912.06812.pdf
- Certificates contain private information, which should not be stored on chain
- Issuers can issue and revoke certificates
- Anyone can verify the certificate if they have the certificate information
- 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/
cd substrate-node-template
cargo build --release
./target/release/node-template --tmp --dev -lruntime::contracts=debug
cd org_contract
cargo +nightly contract build
- Use https://polkadot.js.org/apps/#/contracts to deploy contract
- Update
CONTRACT_ADDR
field incertify-frontend/src/config/common.json
to new contract address yarn install
yarn start
- Ink and Substrate Node compatibility issues: 3.0.1 (v9.17) -> 3.1.0 -> 3.2.0 (v9.22)
- Substrate is big
- Weight
- Encrypted File Storage
- Better frontend design and prevent memory leaks
- https://github.com/substrate-developer-hub/substrate-docs/blob/main/v3/how-to-guides/02-pallet-design/a-add-contracts-pallet/index.mdx
- https://ink.substrate.io/macros-attributes/chain-extension/
- https://github.com/paritytech/Runtime-Contract-Interactions/
- https://github.com/paritytech/substrate-contracts-node
- https://substrate.dev/
- https://github.com/paritytech/ink/tree/master/examples
- https://substrate.stackexchange.com/questions/2721/cargo-contract-3-0-1