-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Move credential registry description into README.md * Compare README in the CI * Move section header in README * Set munimum Rust version to 1.66 in concordium-std
- Loading branch information
Showing
7 changed files
with
101 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ name = "concordium-std" | |
version = "8.0.0" | ||
authors = ["Concordium <[email protected]>"] | ||
edition = "2021" | ||
rust-version = "1.65" | ||
rust-version = "1.66" | ||
license = "MPL-2.0" | ||
description = "A standard library for writing smart contracts for the Concordium blockchain in Rust." | ||
homepage = "https://github.com/Concordium/concordium-rust-smart-contracts/" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Credential registry contract | ||
|
||
This smart contract implements an example on-chain registry for the public | ||
part of verifiable credentials (VCs). The contract follows CIS-4: Credential | ||
Registry Standard. | ||
|
||
The contract keeps track of credentials' public data, allows managing the | ||
VC life cycle. and querying VCs data and status. The intended users are | ||
issuers of VCs, holders of VCs, revocation authorities, and verifiers. | ||
|
||
When initializing a contract, the issuer provides a type and a schema | ||
reference for the credentials in the registry. The schema reference points | ||
to a JSON document describing the structure of verifiable credentials in the | ||
registry (attributes and their types). If the issuer wants to issue | ||
verifiable credentials of several types, they can deploy several instances | ||
of this contract with different credential types. | ||
|
||
## Issuer's functionality | ||
|
||
- register/remove revocation authority keys; | ||
- register a new credential; | ||
- revoke a credential; | ||
- update the issuer's metadata; | ||
- update the credential metadata; | ||
- update credential schema reference; | ||
- upgrade the contract, set implementors; | ||
- restore (cancel revocation of) a revoked credential. | ||
|
||
## Holder's functionality | ||
|
||
- revoke a credential by signing a revocation message. | ||
|
||
## Revocation authority's functionality | ||
|
||
Revocation authorities are some entities chosen by the issuer that have | ||
revocation capabilities. Their public keys are registered by the issuer and | ||
a revocation authority signs a revocation message with the corresponding | ||
private key. | ||
|
||
- revoke a credential by signing a revocation message. | ||
|
||
## Verifier's functionality | ||
|
||
- view credential status to verify VC validity; | ||
- view credential data to verify proofs (verifiable presentations) requested | ||
from holders. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Credential registry contract | ||
|
||
This smart contract implements an example on-chain registry for the public | ||
part of verifiable credentials (VCs). The contract follows CIS-4: Credential | ||
Registry Standard. | ||
|
||
The contract keeps track of credentials' public data, allows managing the | ||
VC life cycle. and querying VCs data and status. The intended users are | ||
issuers of VCs, holders of VCs, revocation authorities, and verifiers. | ||
|
||
When initializing a contract, the issuer provides a type and a schema | ||
reference for the credentials in the registry. The schema reference points | ||
to a JSON document describing the structure of verifiable credentials in the | ||
registry (attributes and their types). If the issuer wants to issue | ||
verifiable credentials of several types, they can deploy several instances | ||
of this contract with different credential types. | ||
|
||
## Issuer's functionality | ||
|
||
{% if revocable_by_others %}- register/remove revocation authority keys;{% else %}{% endif %} | ||
- register a new credential; | ||
- revoke a credential; | ||
- update the issuer's metadata; | ||
- update the credential metadata; | ||
- update credential schema reference; | ||
{% if restorable %}- upgrade the contract, set implementors; | ||
- restore (cancel revocation of) a revoked credential.{% else %}- upgrade the contract, set implementors.{% endif %} | ||
|
||
## Holder's functionality | ||
|
||
- revoke a credential by signing a revocation message. | ||
{% if revocable_by_others %} | ||
## Revocation authority's functionality | ||
|
||
Revocation authorities are some entities chosen by the issuer that have | ||
revocation capabilities. Their public keys are registered by the issuer and | ||
a revocation authority signs a revocation message with the corresponding | ||
private key. | ||
|
||
- revoke a credential by signing a revocation message.{%endif%} | ||
|
||
## Verifier's functionality | ||
|
||
- view credential status to verify VC validity; | ||
- view credential data to verify proofs (verifiable presentations) requested | ||
from holders. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters