
Lo sapevi? Contratti Proxy Diamond (EIP-2535)
Lo sapevi che i contratti Proxy Diamond consentono a un contratto intelligente di scalare quasi all'infinito?
Questo modello di aggiornamento, introdotto da EIP-2535, suddivide la funzionalità in moduli più piccoli chiamati faccette, mentre un proxy diamond centrale instrada ogni chiamata di funzione alla faccetta corretta utilizzando una mappatura selettore-a-faccetta.
Componenti chiave
Diamond: Proxy principale che delega le chiamate.
Faccette: Mini-contratti che implementano caratteristiche specifiche.
DiamondCut: Aggiunge, sostituisce o rimuove faccette.
Diamond Loupe: Mostra tutte le faccette e i loro selettori.
Funzione Fallback: Delega selettori non corrispondenti alla faccetta giusta.
Perché gli sviluppatori lo usano
Aggiornamenti modulari senza ridistribuire l'intero contratto.
Scalabilità, superando i limiti delle dimensioni del bytecode.
Flessibilità per aggiungere o rimuovere funzionalità nel tempo.
Migliori pratiche
Bloccati i funzioni diamondCut e di inizializzazione.
Gestire con attenzione i layout di archiviazione per evitare di sovrascrivere i dati.
Auditare la logica di fallback per prevenire l'iniezione di faccette malevole.
Bandiera rossa da tenere d'occhio
Token che utilizzano proxy ma non offrono trasparenza sull'aggiornabilità.
Progetti che mostrano grafici “tutti verdi” (solo acquisti, nessuna vendita).
Promo aggressiva
tions nei gruppi di trading o sui social media.