Contract Architecture
Core Contract Structure
The Stellar attestation contract is implemented as a Soroban smart contract with modular instruction handlers:Data Structures
Storage Key System
Deterministic storage keys for efficient data organization:Attestation Storage
Comprehensive attestation data with flexible metadata:Schema Definition
Schema structure with authority and resolver support:Authority Management
Authority registration and metadata tracking:Core Operations
Schema Registration
Schema Creation Register new attestation schemas with validation rules:- Validate caller authority permissions
- Generate deterministic schema UID using SHA-256 hash
- Store schema data using
DataKey::Schema(uid) - Return generated schema UID for reference
Attestation Operations
Create Attestation Issue attestations following registered schemas:- Validate schema exists and is active
- Check caller has authority to attest
- Verify resolver constraints (if present)
- Store attestation using composite key
- Emit attestation created event
Storage Architecture
Persistent Storage
Soroban’s persistent storage for long-term data retention:Storage Benefits
- Persistent State: Data survives contract upgrades
- Efficient Queries: Direct key-based lookups
- Deterministic Keys: Predictable storage locations
- Gas Optimization: Minimal storage operations
Authority System
Authority Registration
Decentralized authority registration with admin verification:Admin Controls
Contract admin can manage system-wide settings:Resolver Integration
Custom Validation
Optional resolver contracts for advanced validation:Resolver Interface
Standardized resolver contract interface:Error Handling
Comprehensive Error Types
Detailed error handling for all contract operations:Events and Notifications
Event Emission
Comprehensive event logging for attestation lifecycle:Integration Examples
JavaScript Integration
Using Stellar SDK for contract interaction:Rust Integration
Direct contract integration from Rust applications:Network Information
Deployment Addresses
| Network | Contract Address | Status |
|---|---|---|
| Testnet | CB7QHNAXAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAE | Active |
| Mainnet | TBD | Planned |
Network Configuration
Testnet Setup:Development Workflow
Build and Deploy
Complete development and deployment process:Testing Framework
Comprehensive test suite for contract validation:Performance Characteristics
Gas Efficiency
Optimized operations for minimal transaction costs:- Schema Registration: ~200,000 gas
- Attestation Creation: ~150,000 gas
- Attestation Retrieval: ~50,000 gas
- Attestation Revocation: ~100,000 gas
Storage Optimization
Efficient data structures minimize storage costs:- Fixed-size Keys: Deterministic 32-byte identifiers
- Compressed Data: Binary encoding for large payloads
- Selective Storage: Only essential data on-chain