The smart contracts of the Identity.com marketplace.
Identity.com grants users, requesters, and validators around the world entry to accessible, reusable identity verification powered by CVC tokens.
Holds the list of all recognized Credential Items available for sale in the ecosystem.
Stores actual prices for Credential Items available for sale. It allows registered Identity Validators to set or delete prices for specific Credential Items.
Provides an escrow service for the Identity.com marketplace. It controls an escrow placement's lifecycle which involves transferring a pre-approved amount funds
A registry for Identity Validators (IDV). It is part of the marketplace access control mechanism.
- CvcMigrator
- CvcProxy
- EternalStorage
- ImplementationStorage
- Initializable
- Ownable
- Pausable
- Migrations
For details on the migration and proxy patterns used in Identity.com, see migrations/README.md
The project follows the Truffle framework basic structure:
migrationsfolder for the migration filescontractsfolder for smart contract source code filestestfor smart contracts unit teststruffle.jsfile at the top level for network management.
All tests are running against Truffle's Ganache.
We have the docker-compose.yml file with default setup for ganache to speed up environment setup.
See package.json for available testing commands.
Setup connection to your ethereum node (ganache/privatenet/testnet/mainnet).
Run deploy-contracts npm command.
Resulting JSON artifacts with ABIs and network addresses will be in artifacts/deployed folder.