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:
migrations
folder for the migration filescontracts
folder for smart contract source code filestest
for smart contracts unit teststruffle.js
file 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.