A decentralized vehicle maintenance tracking system built on the Stacks blockchain using Clarity. This contract provides an immutable, transparent ledger for vehicle ownership and service history.
This smart contract enables vehicle owners to register their vehicles and maintain a complete, verifiable service history on the blockchain. It creates a tamper-proof record of all maintenance activities, ownership transfers, and service schedules that can be independently verified while maintaining proper access controls.
- Register Vehicles: Add vehicles with VIN, make, model, year, and current mileage
- Transfer Ownership: Securely transfer vehicles between blockchain addresses
- Activate/Deactivate: Control vehicle status for operational management
- Multi-Vehicle Support: Track unlimited vehicles per owner
- Service Records: Log detailed maintenance with service type, cost, and descriptions
- Mileage Tracking: Automatic mileage updates with fraud prevention (mileage can only increase)
- Service Scheduling: Track when next service is due based on mileage
- Provider Records: Link maintenance to specific service provider addresses
- Complete History: Immutable audit trail of all service activities
- Owner Permissions: Only vehicle owners can modify their vehicle data
- Authorized Mechanics: Contract owner can authorize trusted service providers
- Two-Tier Security: Separate permissions for owners and mechanics
- Transfer Protection: Prevents invalid ownership transfers
- VIN Validation: Enforces 17-character VIN format
- Year Validation: Accepts years between 1900-2100
- Mileage Verification: Prevents odometer rollback fraud
- Input Sanitization: Comprehensive bounds checking on all inputs
- String Length Limits: Prevents storage abuse
- Language: Clarity
- Blockchain: Stacks
- Lines of Code: 285
- Gas Optimized: Uses maps for O(1) lookups
- Zero Warnings: Passes Clarity static analysis
```bash clarinet contract deploy vehicle-maintenance ```
(contract-call? .vehicle-maintenance register-vehicle
"1HGBH41JXMN109186" ;; VIN (17 characters)
"Honda" ;; Make
"Accord" ;; Model
u2020 ;; Year
u50000 ;; Current mileage
)
;; Returns: (ok u1) - Vehicle ID