-
Notifications
You must be signed in to change notification settings - Fork 2
Identity ‐ Documentation
This documentation summarizes the locations and operating modes of the deliverables of the Identity module, whose specifications are here.
Reminder of the expected Open Source components:
-
Catalog_directory contract
- EVM-compatible smart contract & ABI
- Documentation (including call methods)
- Client code for Web integration of the catalog directory
-
Catalog_administration contract
- EVM-compatible Smart contract & ABI
- Documentation (including call methods)
- Client code for Web integration of the credentials & descriptions directory
-
Authentication Component via did:ethr: Allows authentication via DID and verification of credentials. Integrated with catalog_app, it enables the appropriate rights for catalog users.
-
Signature Component via did:ethr: Incorporated into the catalog_app code, it particularly allows the signing of self-descriptions.
-
Component for Publishing Descriptions on IPFS
-
Summary: The
Catalog_directory Contractis an EVM-compatible smart contract designed to manage a directory of catalogs accredited by the Prometheus-X association, allowing their official recognition within the ecosystem. -
Location of deliverables:
-
Summary: The
Catalog_administration contractis an EVM-compatible smart contract designed to model, issue, and distribute credentials (identity, authorization credentials: for example, "ecosystem_owner" or "ecosystem_data_user"., etc) in the form of SBT (SoulBound Token, non-transferable NFTs). -
Location of deliverables:
- Summary: Allows authentication via DID and verification of credentials. Incorporated into the catalog_app code, it enables users to sign-in.
- Deliverable location and documentation
- Summary: Incorporated into the catalog_app code, it particularly allows the signing of self-descriptions.
- Deliverable location and documentation
- Summary: Incorporated into the catalog_app code, it particularly allows the recording of self-descriptions in a decentralized storage environment (IPFS).
- Deliverable location and documentation
- Deployment of the
3videnz-RevealableConsensualSBTCatalog on Mainnet (Visions) -
Deployment of the
PrometheusXCatalogsDirectoryContract on Mainnet (Prometheus)- (Optional) If the deployment address is not the contract owner, transfer ownership of the contract.
- (Optional) Add administrators to the
PrometheusXCatalogsDirectorycontract to manage the added catalogs. - Add the Visions catalog
3videnz-RevealableConsensualSBTto thePrometheusXCatalogsDirectory.
-
Configuration of
3videnz-siwed-reactinsiwed.config.jsof the Client Application (Visions)- Define the mainnet being used.
- (Optional) Configure mywallet in production.
- Configure the
PrometheusXCatalogsDirectory.
export default defineConfig({
// ...
chains: [{
chainId: 43114,
name: 'Avalanche C-Chain',
currency: 'AVAX',
explorerUrl: 'https://snowtrace.io/',
rpcUrl: 'https://avalanche-c-chain-rpc.publicnode.com'
}],
customWallets: [{
id: 'mywallet.cloud',
name: 'mywallet.cloud',
webapp_link: 'https://app.mywallet.cloud/',
image_url: '/mywallet-icon-512.png'
}],
identityRegistries: [{
type: 'PrometheusXCatalogsDirectory',
chainId: '0xa86a', // Hexadecimal format of Avalanche C-Chain 43114
address: '0x...' // Address of the PrometheusXCatalogsDirectory (see Production Deployment Steps 1.)
}]
// ...
});A production environment has been deployed by the 3videnZ team and made available to Prometheus-X. As part of this deployment:
- The
3videnz-RevealableConsensualSBTcatalog has been deployed and made available to Visions in a production environment; - The
PrometheusXCatalogsDirectorycontract has been deployed and made available to Prometheus-X in a production environment; - A configuration of
3videnz-siwed-reactinsiwed.config.jsfor the Client Application has been provided to Visions for integration into their tools.
This documentation details the key elements, configurations, and nuances of this production deployment.
The 3videnz-RevealableConsensualSBT catalog has been deployed and made available to Visions in a production environment, specifically on the Gnosis blockchain mainnet.
The address of the 3videnz-RevealableConsensualSBT catalog deployed in production is 0x738E040fF8Bbf2a2E79573323B1Cdc0107f17EBd. This address is used to locate the contract on the blockchain. The deployed code is directly accessible via a Gnosis-compatible blockchain explorer:
https://gnosisscan.io/address/0x738E040fF8Bbf2a2E79573323B1Cdc0107f17EBd#code
The smart contract was deployed using the 3videnZ protocol's data encoding. As such, the management of this smart contract is performed using tools provided by 3videnZ, which are accessible through user-specific documentation. This documentation has been shared with the Visions team.
The PrometheusXCatalogsDirectory catalog has been deployed and made available to Prometheus-X in a production environment, specifically on the Gnosis blockchain mainnet.
The address of the PrometheusXCatalogsDirectory contract deployed in production is 0x1C6e94a83858c01e83830B92066f00d5380Df19a. The deployed code is directly accessible via a Gnosis-compatible blockchain explorer:
https://gnosisscan.io/address/0x1c6e94a83858c01e83830b92066f00d5380df19a#code
At the request of the Prometheus-X association, the administration of this contract is currently being handled by the 3videnZ team. For any addition of catalogs to the production PrometheusXCatalogsDirectory contract, please send your request to the Prometheus-X association. It should be noted that the 3videnz-RevealableConsensualSBT contract deployed for Visions in production has already been added to the production PrometheusXCatalogsDirectory.
Below is the configuration to be used in production for the siwed.config.js file of the Client Application when utilizing a 3videnz-RevealableConsensualSBT catalog contract.
The example configuration provided below is specific to the 3videnz-RevealableConsensualSBT instance deployed for Visions and must be adapted for other deployments.
export default defineConfig({
// ...
chains: [{
chainId: 100,
name: 'Gnosis',
currency: 'xDAI',
explorerUrl: 'https://gnosisscan.com/',
rpcUrl: 'https://rpc.gnosischain.com'
}],
customWallets: [{
id: 'mywallet.cloud',
name: 'mywallet.cloud',
webapp_link: 'https://app.mywallet.cloud/',
image_url: '/mywallet-icon-512.png'
}],
identityRegistries: [{
type: 'PrometheusXCatalogsDirectory',
chainId: '0x64', // hexadecimal format of Gnosis chain (100)
address: '0x1C6e94a83858c01e83830B92066f00d5380Df19a' // PrometheusXCatalogsDirectory address in production
}]
// ...
})