16 token id strategy
Overview
Strategy Options
Option 1: tokenId = ProjectRecordId (Recommended for v1)
ProjectRecord tokenId = 101
Credit Units tokenId = 101// When ProjectRecord is minted
uint256 projectTokenId = projectRegistry.mintProjectRecord(...);
// Credits use the same tokenId
carbonCredit1155.setProjectConfig(projectTokenId, capUnits, ...);
carbonCredit1155.mintCredits(projectTokenId, to, amountUnits);Option 2: tokenId = hash(projectId + vintage + verifier + methodology)
Option 3: Sequential Token IDs with Mapping
Recommendation
For v1: Use Option 1
For Future: Consider Option 2
Implementation Example (Option 1)
ProjectRegistry
CarbonCredit1155
Usage
Token ID Lookup Patterns
Query Credits by Project
Query Project by Credit TokenId
Migration Considerations
From Option 1 to Option 2
Best Practices
Last updated