Skip to content

kommitters/chaincerts-smart-contracts

CHAINCERTS_LOGO

Issue, store, and verify your credentials backed by smart contracts on Soroban.

Chaincerts are Web3 Verifiable Credentials (as standardized by the W3C).

Version Badge License badge Build Badge Coverage Status OpenSSF Scorecard

Build in the Open ☝️

As part of our commitment to transparency, we promote the adoption of a "build in the open" approach to developing these contracts. This approach allows anyone to use or inspect the underlying code of smart contracts, ensuring that it works as intended and does not contain any hidden vulnerabilities or malicious code. We aim to foster trust within the ecosystem and community, promoting greater confidence in using Chaincerts.

For more details, please refer to the open source LICENSE.


Smart Contracts

Chaincerts utilizes Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs) to establish a secure and interoperable infrastructure for managing digital identities and credentials within the Stellar and Soroban ecosystems.

smart-contracts-workflow


Decentralized Identifiers (DIDs)

The DID smart contract strictly adheres to the W3C DID specification and is a foundational component within the verifiable credential ecosystem. It empowers individuals and issuers to establish and manage their self-sovereign identities on the Stellar blockchain.

DID smart contract code


Verifiable Credentials Issuance

The Verifiable Credentials (VCs) Issuance smart contract establishes the rules for issuing, transferring, and revoking verifiable credentials. It acts as the governing framework, ensuring the secure and standardized management of on-chain verifiable credentials.

This smart contract prioritizes security and privacy by avoiding the persistence of structured data or personal information. Data is handled exclusively in an encrypted form, with access granted only to owners through cryptographic mechanisms. This approach is particularly critical in insecure communication channels such as blockchain ledgers. For more details, refer to the W3C KeyAgreement specification.

Issuance smart contract code


Vault: Verifiable Credentials Storage

The Vault smart contract is a secure repository for safeguarding Verifiable Credentials (VCs).

Through the implementation of control access mechanisms, the smart contract authorizes issuers to deposit credentials through issuance contracts. VCs stored within the Vault utilize an encryption mechanism that prioritizes security and data privacy.

Vault smart contract code

Deployment

  1. Fetch the submodule for the DID smart contract: If it's the first time you're cloning the repository, execute:

    git submodule update --init --recursive
    

    If you've already cloned the repository and want to update the DID smart contract, run:

    git submodule update --remote --recursive
    
  2. To build and optimize all smart contracts, run:

    chmod +x build.sh
    sh build.sh
  3. To install and deploy the respective smart contracts, execute:

    chmod +x release.sh
    sh release.sh

    The output will display the respective WASM IDs and the deployer contract address:

    Vault contract WASM ID:
    1b2f3c9e5d807a1f2b319c4d6e98f87d4b6a0fc325a1707c08e5f7d1ae2c9b3a
    Issuance contract WASM ID:
    8d4f1e9b6a7032dab92f56c81eaf094d5e1b0a72f8c3ed5706cb08193c4e2f7a
    DID contract WASM ID:
    4fe937d2b8e1a0c6f312dbaf6987c3c0d2d1ae7364c87e0a95e047fd8fb2c1e3
    Deployer contract Address:
    CGKFDN2X8VU4AJHRMZK35YMSYRWBSWTPVJ4I32EHDRRJK9YKU4W9CD9X
    

License

This software is licensed under the Apache License 2.0 © kommit.



kommit

WebsiteGithubXLinkedIn