È stata pubblicata la piattaforma decentralizzata di sviluppo collaborativo Radicle 1.6

È stato pubblicato il rilascio della piattaforma P2P Radicle 1.6, mirata a creare un servizio decentralizzato di collaborazione e archiviazione del codice, simile a GitHub e GitLab, ma non legato a server specifici, non soggetto a censura e funzionante utilizzando le risorse dei partecipanti alla rete P2P. La piattaforma supporta elementi standard di interazione sociale per sviluppatori, come issue, patch e revisioni del codice. I progressi del progetto sono scritti in linguaggio Rust e distribuiti sotto le licenze Apache 2.0 e MIT. Sono disponibili build per Linux e macOS. Sono in fase di sviluppo un client desktop, un'interfaccia web e un'interfaccia a riga di comando.

Radicle consente di sviluppare e distribuire codice senza dipendere da piattaforme e corporation centralizzate, la cui dipendenza comporta ulteriori rischi (singolo punto di fallimento, la società potrebbe chiudere o modificare le condizioni di utilizzo). Per gestire il codice in Radicle si utilizza Git, arricchito da strumenti che definiscono i repository in una rete P2P. Tutti i dati sono principalmente salvati localmente (concetto di local-first) e sono sempre accessibili sul computer dello sviluppatore, indipendentemente dallo stato della connessione di rete.

I partecipanti forniscono accesso al proprio codice e agli artefatti correlati, come patch e discussioni sulla correzione di bug (issues), che sono salvati localmente e replicati sui nodi di altri sviluppatori interessati, connessi a una rete P2P decentralizzata comune. Di conseguenza, si forma un repository Git decentralizzato globale, i cui dati sono replicati e duplicati su diversi sistemi dei partecipanti.

Per determinare i nodi vicini in una rete P2P viene utilizzato il protocollo Gossip, mentre per la replica dei dati tra i nodi si utilizza il protocollo Heartwood, basato su Git. Poiché il protocollo è basato su Git, la piattaforma si integra facilmente con gli strumenti di sviluppo esistenti su Git. L'identificazione dei nodi e la verifica dei repository avviene mediante crittografia basata su chiavi pubbliche, senza l'uso di account. L'autenticazione e l'autorizzazione sono basate su chiavi pubbliche senza enti di certificazione centralizzati. server.

Ogni repository nella rete P2P ha un identificatore unico ed è auto-certificato, cioè tutte le azioni nel repository, come l'aggiunta di commit e la pubblicazione di commenti sulle issue, sono firmate digitalmente dal proprietario, consentendo di verificare l'integrità dei dati su altri nodi senza utilizzare enti di certificazione centralizzati. Per accedere al repository è sufficiente che sia online almeno un nodo contenente una copia replicata di esso.

I nodi nella rete P2P possono iscriversi a determinati repository e ricevere aggiornamenti. È possibile creare repository privati, accessibili solo a nodi specifici. Per gestire e possedere un repository si utilizza il concetto di "delegati" (delegates). Un delegato può essere un singolo utente, un bot o un gruppo, associati a un identificatore speciale. I delegati possono accettare patch nel repository, chiudere issue e assegnare diritti di accesso al repository. Possono essere associati più delegati a ciascun repository.

I repository Radicle vengono memorizzati nei sistemi degli utenti come normali repository git, nei quali sono presenti spazi dei nomi aggiuntivi per memorizzare i dati dei peer e dei fork con cui viene svolto il lavoro corrente. Le discussioni, le patch proposte e i componenti per l'organizzazione delle revisioni sono anch'essi salvati nei repository git come oggetti collaborativi (COB — Collaborative Objects) e replicati tra i peer.

Nel nuovo rilascio:

  • L'implementazione del nodo Radicle (radicle-node) è stata convertita per utilizzare la libreria di input/output Mio. I pacchetti netservices, io-reactor e popol, che ostacolavano il raggiungimento del giusto livello di interoperabilità, sono stati esclusi dalle dipendenze. È stato aggiunto un nuovo modulo reactor, nel quale io-reactor è stato riscritto sulla base di Mio.
  • La transizione a Mio ha permesso di implementare il supporto per la piattaforma Windows, che al momento ha uno stato sperimentale.
  • Il codice per l'analisi degli argomenti della riga di comando è stato trasferito nella libreria clap, unificando il comportamento durante l'analisi degli argomenti e introducendo nella utility rad funzionalità come la generazione automatica di suggerimenti per i comandi, la visualizzazione di raccomandazioni per la risoluzione di errori, l'evidenziazione dell'output e il completamento automatico dei comandi.
  • In radicle-node è stata aggiunta la supporto per il meccanismo systemd Credentials per la trasmissione sicura delle chiavi di accesso (xyz.radicle.node.secret) e delle password per la loro decifratura (xyz.radicle.node.passphrase), in aggiunta all'uso della variabile d'ambiente RAD_PASSPHRASE, all'opzione della riga di comando «—secret» e ai parametri nel file di configurazione.
  • I requisiti per la versione minima supportata del compilatore Rust sono stati elevati a 1.85.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster