Neo Global Monthly Report - Sviluppo

luglio 2022

Neo Global Monthly Report - Sviluppo

Punti salienti

Gli sforzi degli sviluppatori di base sono culminati nella versione Neo v3.4 ad agosto, portando notevoli miglioramenti delle prestazioni e correzioni di bug. La cosa più importante è una nuova potente funzionalità che consente a un contratto di archiviare script dinamici da eseguire in fase di esecuzione in futuro.

I contratti intelligenti sono solitamente limitati nella gamma di operazioni che possono eseguire con i metodi inclusi nel loro codice. Se è necessario calcolare dinamicamente alcuni dati, una funzione che memorizza la logica per eseguire tale calcolo viene in genere inclusa dal deployer del contratto.

In alcuni casi, il calcolo da effettuare potrebbe non essere noto in anticipo, quindi nessuna funzione può essere inclusa nel contratto per eseguirlo. Ad esempio, in un’applicazione di deposito a garanzia, un utente potrebbe voler gestire le proprie operazioni dal custode di reputazione più alta disponibile al momento, mentre un altro potrebbe voler depositare solo con un custode che ha un’identità pubblica allegata e il numero complessivo più basso di controversie, escluse quelle con un numero molto basso di operazioni.

Per entrambi questi utenti, l’indirizzo del custode appropriato cambierà naturalmente nel tempo, quindi non può essere fornito in anticipo come dati fissi. Sebbene lo sviluppatore dell’applicazione possa fornire una serie di metodi per servire le scelte più comuni agli utenti, ciò limiterebbe le potenziali opzioni. Con la nuova funzionalità di caricamento dinamico degli script, gli utenti sarebbero in grado di memorizzare i loro criteri di selezione per i custodi direttamente nel contratto da utilizzare come richiesto.

Al di fuori del nucleo, le comunità di sviluppo di Neo hanno anche trovato il tempo di esplorare nuove iniziative adattandosi agli ultimi progressi. AxLabs ha continuato a iterare sull’applicazione GrantShares, migliorando la funzionalità e le opzioni di proposta, mentre la piattaforma stessa ha superato il traguardo di $ 100K in sovvenzioni totali assegnate.

Neo SPCC ha rischiato di completare il refactoring del client RPC NeoGo, semplificando l’esperienza di integrazione per i costruttori di applicazioni e preparandosi a lanciare pubblicamente il gateway REST per NeoFS. NGD Enterprise ha iniziato un’altra nuova impresa, progettando una nuova soluzione per soddisfare le esigenze degli sviluppatori nello spazio tra PrivateNet, TestNet e MainNet.

Il rapporto completo sullo sviluppo mensile globale di Neo per agosto è disponibile di seguito.

SVILUPPO DEL PROTOCOLLO

SVILUPPO DEL PROTOCOLLO

Neo Core

Neo v3.4 rilasciato con miglioramenti delle prestazioni dei nodi e correzioni di bug

L’ultima versione neo è arrivata ad agosto, portando con sé diversi miglioramenti. Il metodo Atoi del contratto nativo StdLib ha ricevuto il supporto per i segni iniziali sulle stringhe numeriche e il supporto per la funzione HasMethod implementata di recente nel contratto nativo ContractManagement è stato aggiunto al devpack .NET. Sul fronte della correzione dei bug, è stato risolto un problema con gli input JSON in NeoCLI e un potenziale bug di reentrancy per le richieste Oracle è stato corretto tramite l’uso di InvocationCounter.

È stato sollevato un problema su GitHub relativo all’utilizzo della classe base .NET KeyedCollection da parte della classe RemoteNode di Neo per gestire gli hash in sospeso. L’implementazione è stata commutata in una variante più leggera che supporta solo le operazioni necessarie e migliora la velocità di rimozione degli articoli, con conseguente miglioramento delle prestazioni dei nodi sotto carichi pesanti.


Supporto per script di sola lettura caricati dinamicamente in fase di esecuzione per i contratti

Il lavoro per supportare gli script caricati dinamicamente in fase di esecuzione nei contratti è continuato, con una logica di restituzione migliorata, un ulteriore controllo CalledByEntry e la disabilitazione delle notifiche. A seguito della discussione principale degli sviluppatori sui problemi di sicurezza, questi script dinamici verranno eseguiti solo utilizzando il flag di sola lettura.

INFRASTRUTTURA E SVILUPPO STRUMENTI

INFRASTRUTTURA E SVILUPPO STRUMENTI

Punti salienti

INFRASTRUTTURA E SVILUPPO STRUMENTI

Attività cardine del progetto

ESPLORATORE

NeoTube di NEXT

Questo mese, NEXT ha reso la versione N3 del suo explorer l’impostazione predefinita, appena ospitata su neotube.io. La versione Legacy è stata spostata in neo2.neotube.io e legacy TestNet è stata deprecata.

https://neotube.io/

Nodo

NeoGo di Neo SPCC

Neo SPCC ha continuato il suo refactoring del client RPC questo mese, includendo nuove interfacce convenienti progettate per l’uso sia nel codice interno che nelle applicazioni back-end. Invoker viene utilizzato per l’esecuzione di script, mentre Actor viene utilizzato per la costruzione di transazioni, la firma e l’inoltro.

Sono state completate varie correzioni del compilatore e miglioramenti dell’interfaccia della riga di comando e sono state rilevate e corrette deviazioni minori dall’implementazione di riferimento C#. Il team ha anche proposto e implementato un miglioramento del metodo CalculateNetworkFee per i testimoni a contratto, sebbene l’aggiustamento non sia attualmente rispecchiato nel nucleo.

https://github.com/nspcc-dev/neo-go

Sdk

neow3j di AxLabs

Agosto ha visto il rilascio di Neow3j v3.19.0, con piena compatibilità con l’attuale versione Neo, v3.4.0 e ulteriore miglioramento dell’esperienza degli sviluppatori. Oltre a supportare nuove funzionalità di base, la nuova versione dell’SDK consente a uno sviluppatore di recuperare più elementi iteratori da un contratto senza che il nodo RPC sia abilitato alla sessione.

https://github.com/neow3j/neow3j

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit di NGD Enterprise

Ad agosto, NGD Enterprise ha concentrato i suoi sforzi su nuovi prodotti. Il lavoro di progettazione è stato completato per N3 Worknet, una nuova soluzione progettata per riempire lo spazio tra PrivateNet, TestNet e MainNet. La build di anteprima è in corso e dovrebbe essere lanciata a settembre.

Il team ha inoltre continuato a lavorare su una versione di anteprima di un compilatore di contatti intelligenti TypeScript. Ciò colmerà un’altra lacuna nell’ecosistema e renderà TypeScript il quinto linguaggio di programmazione disponibile per gli sviluppatori a contratto su N3.

https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit

Portafoglio

NeoLine di NEXT

NEXT ha aggiornato i portafogli di estensione Mobile e Chrome NeoLine con una serie di correzioni di bug ad agosto. La rete N3T4 è stata rimossa da NeoLine per Chrome ed è stato risolto un bug con errori di chiamata a contratto durante il cambio di rete. Entrambe le versioni hanno ricevuto miglioramenti alla gestione del tasso di cambio per migliorare la comodità dell’utente.

https://neoline.io/

NEOFS

NeoFS di Neo SPCC

Il core NeoFS ha ricevuto una serie di modifiche progettate per rendere il sistema più flessibile, affidabile e conveniente. Il nodo ha ricevuto test di archiviazione generici e la possibilità di stampare gli attributi degli oggetti e una correzione di bug per l’interfaccia della riga di comando ha migliorato la gestione delle autorizzazioni errate. Il client oggetto di Go SDK è stato sottoposto a refactoring per semplificarne il supporto e sono stati aggiunti miglioramenti assortiti nell’API.

La maggior parte delle modifiche apportate ai servizi NeoFS in agosto si è concentrata sui gateway di protocollo. In particolare, il gateway S3 ha ricevuto il supporto per la copia dei tag e la crittografia dei clienti SSE, oltre alla possibilità di migliorare la velocità di upload a scapito di una certa affidabilità. Il team ha anche preparato il gateway REST per il suo rilascio pubblico, aggiungendo CORS, supporto per token binari al portatore e metriche aggiuntive.

https://fs.neo.org/

revisione

Controllo tramite Red4Sec

Red4Sec ha eseguito un audit del prossimo contratto NameService per N3 ad agosto e ha esaminato le correzioni ai contratti Token e Mufftroller del progetto MyMuffin. È stato inoltre programmato un audit con il team per la revisione di una nuova funzionalità di Flamingo.

https://red4sec.com/en

Varie

GrantShares di AxLabs

Oltre ai suoi miglioramenti Neow3j, AxLabs ha anche speso notevoli sforzi per perfezionare la piattaforma GrantShares questo mese. È stato introdotto il supporto per nuovi tipi di proposta, consentendo agli utenti di proporre l’aggiunta o la rimozione di membri DAO, modifiche alle risorse supportate e altre impostazioni della piattaforma.

Nell’aggiornamento è stata inclusa anche una funzione per collegare le proposte correlate, rendendo più facile seguire il contesto tra le diverse discussioni sulle proposte. Infine, è stato completato un dashboard per la tesoreria GrantShares, che mostra le informazioni sul saldo, le spese e le transazioni di sovvenzione.

https://grantshares.io/