1. Sintassi basata su TypeScript

• Familiarità: Compact utilizza una sintassi simile a TypeScript, consentendo a milioni di sviluppatori Web2 di passare allo sviluppo Web3 senza la necessità di imparare un linguaggio completamente nuovo.

• Sistema Tipizzato Statically: Ogni espressione in Compact viene controllata per tipo al momento della compilazione. Questo aiuta nella rilevazione precoce degli errori e garantisce la manutenzione sicura di contratti su larga scala.

2. Compilatore Zero-Knowledge

• Automazione ZK: Il compilatore Compact non solo genera codice eseguibile ma produce anche circuiti Zero-Knowledge. Questi circuiti vengono utilizzati per dimostrare la validità delle interazioni con il libro mastro senza rivelare dati grezzi.

• Separazione dello stato: Il linguaggio supporta un'architettura a libro mastro duale, consentendo agli sviluppatori di definire chiaramente quali dati rimangono privati e quali vengono registrati pubblicamente.

3. Componenti principali di un contratto Compact

Un contratto intelligente scritto in Compact consiste tipicamente di tre parti strutturali:

• Circuiti: Funzioni che eseguono calcoli e generano prove per la verifica on-chain.

• Testimoni: Funzioni JavaScript/TypeScript che vengono eseguite sul lato dell'utente con accesso ai dati privati. I loro risultati vengono registrati nella catena solo quando lo sviluppatore richiede esplicitamente la divulgazione.

• Stato del libro mastro: La porzione di dati pubblici memorizzata direttamente sulla blockchain Midnight.

4. Caratteristiche della programmazione funzionale

• Compact supporta concetti come funzioni pure e strutture dati immutabili. Questo approccio rende il codice sorgente modulare, facile da testare e minimizza gli errori logici derivanti da cambiamenti di stato non intenzionali.

5. Strumenti di sviluppo

L'ecosistema Compact offre una suite completa di strumenti per supportare i flussi di lavoro di sviluppo professionale:

• Compilatore Compact: Traduce il codice sorgente in circuiti ZK e codice di esecuzione JavaScript.

• Compact.js & Midnight.js: Librerie che facilitano l'integrazione di contratti intelligenti Compact nelle applicazioni web standard.

• Compact Devtools: Un'interfaccia della riga di comando per la gestione delle versioni, la formattazione del codice e l'installazione del set di strumenti del compilatore.

@MidnightNetwork #MidnightNetwork #night $NIGHT #DUST #CompactLang #Cardano