Protocol
Smart contracts
The developer documentation is far from complete at this stage but don't hesitate to join our Discord to ask any question that is not yet answered here.
Concepts
Each project that needs to distribute and redeem credentials (for example tickets or vouchers) is a separate contract compatible with the ERC721 specifications.
A new contract/project is created as a on chain proxy by a special contract Factory to a unique singleton contract that contain the same code for all projects, thus minimizing onchain replication of code.
Data associated with a project can be stored on IPFS with some minimal replication onchain when necessary.
RougeProxyFactory
We are using the same proxy pattern as the Gnosis Safe, so deployments costs are minimized. All Rouge logic is implemented in a mastercopy which is deployed only once per version, and therefore, creating a new Rouge project requires only deploying a proxy contract to that mastercopy.
Rouge
The Rouge contract contains all core functionality required to manage a Rouge project, create different credentials "channels", and distribute them freely or against native or ERC20 tokens. The Rouge contract is a superset of a ERC721 so each credential is represented as a distinct NFT.