Neo Global Monthly Report - Sviluppo

aprile 2022

Neo Global Monthly Report - Sviluppo

Punti salienti

A marzo, il nucleo Neo è progredito verso una nuova versione fondamentale, Neo 3.2. Gli aggiornamenti erano relativamente sparsi, suddivisi tra correzioni di bug, miglioramenti del compilatore C# e alcune nuove funzionalità. Gli sviluppatori che costruiscono contratti troveranno una nuova aggiunta al contratto CryptoLib nativo; un’implementazione della funzione hash Murmur, un’opzione veloce ed economica quando è richiesto l’hashing senza garanzie crittografiche.

Uno dei cambiamenti più significativi è arrivato sotto forma di un semplice aggiustamento delle impostazioni: modificando il limite massimo di transazione per blocco, il limite TPS di N3 TestNet riceverà un aumento sostanziale, garantendo che le transazioni possano essere elaborate in modo tempestivo man mano che più nuove applicazioni decentralizzate iniziano a essere distribuite sulla rete.

Sul fronte degli strumenti, NGD Enterprise ha fatto scalpore con il rilascio di una nuova anteprima del debugger. L’anteprima ha portato con sé diversi miglioramenti all’esperienza di debug nel Neo Blockchain Toolkit, con particolare attenzione ai cambiamenti nella vista di archiviazione. Gli sviluppatori che utilizzano compilatori compatibili (attualmente solo C#) saranno in grado di decorare il proprio codice con informazioni sul tipo che verranno emesse nei file di informazioni di debug standard durante la compilazione.

Neo Debugger utilizza questi dati per fornire una panoramica migliorata dell’archiviazione dei contratti e dei tipi di valore di runtime, semplificando agli sviluppatori la visualizzazione dei dati del contratto durante il debug delle esecuzioni.

Neo SPCC ha anche apportato diversi miglioramenti all’esperienza degli sviluppatori, sia per l’implementazione del nodo Go / SDK che per il client NeoFS. Nel primo, gli sviluppatori troveranno un nuovo generatore di binding contrattuali per interagire rapidamente con contratti personalizzati tramite Go, mentre il secondo ha ricevuto vari miglioramenti UX e correzioni di bug.

Diversi progetti di ecosistema sono stati sottoposti a revisioni di sicurezza da parte di Red4Sec questo mese, inclusi i contratti per NeoFS, Flamingo e il nuovo progetto GRANTShares DAO sostenuto da AxLabs.

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

SVILUPPO DEL PROTOCOLLO

SVILUPPO DEL PROTOCOLLO

Neo Core

Neo Compiler C# aggiornato per supportare la sintassi C# 10 più recente

Il compilatore principale per gli smart contract C# ha ricevuto un aggiornamento che ha aggiunto il supporto per la nuova sintassi dello spazio dei nomi introdotta insieme a .NET 6.0. Altre modifiche nel compilatore hanno migliorato l’opzione di denominazione del contratto (ora -nome-base) e risolto un bug del percorso che generava un’eccezione in fase di esecuzione.


N3 TestNet limite di throughput innescato per un aumento di 10 volte

Una modifica all’impostazione MaxTransactionsPerBlock per TestNet cambierà il limite da 512 a 5000 transazioni per blocco nella prossima versione. Ciò aumenta la capacità di throughput della rete da 34 ~ a oltre 333 transazioni al secondo, consentendo ai nodi di svuotare completamente un mempool completo di 50.000 transazioni in soli 10 blocchi. È stata inoltre apportata una modifica corrispondente alla configurazione di DBFTPlugin per soddisfare la nuova tariffa massima di sistema e le dimensioni per i blocchi.


Funzione hash Murmur32 aggiunta al contratto CryptoLib nativo

Il supporto per la funzione hash non crittografica murmur è stato aggiunto alla libreria crittografica del contratto nativo, introducendo un nuovo strumento per gli sviluppatori da utilizzare on-chain quando è richiesto un hashing efficiente. La funzione è più efficiente GAS di SHA256, rendendola una buona scelta per le ricerche basate su hash in cui non è richiesta la sicurezza crittografica (resistenza all’inversione).


Correzioni di bug completate per problemi nei moduli plug-in Neo di base

Un certo numero di problemi sono stati rilevati e risolti a seguito di ricerche eseguite sulla catena N3 TestNet. I problemi di memoria insufficiente causati durante l’elaborazione JSON vengono prevenuti attraverso nuovi limiti alla dimensione dello stack dei risultati nei plug-in RpcServer e ApplicationLogs, oltre ai limiti GAS per il modulo TokenTracker. Questi limiti possono essere regolati nei file di configurazione appropriati. Il team ha anche affrontato una perdita di informazioni locali nel servizio Oracle.

INFRASTRUTTURA E SVILUPPO STRUMENTI

INFRASTRUTTURA E SVILUPPO STRUMENTI

Punti salienti

INFRASTRUTTURA E SVILUPPO STRUMENTI

Attività cardine del progetto

Nodo

NeoGo di Neo SPCC

Marzo ha visto il rilascio di neo-go v0.98.2, aggiungendo la garbage collection per i dati di stato MPT obsoleti e il pieno supporto per Windows. L’aggiornamento includeva miglioramenti del compilatore, un generatore di binding contrattuali e vari altri miglioramenti.

Anche nella nuova versione, il team ha abbandonato il supporto per Go v1.15, aggiungendo il supporto 1.18 al suo posto. Oltre alle correzioni di bug, è stato speso anche molto tempo nello sviluppo di test di fuzzing e nel refactoring di test interni per utilizzare neotest in modo più esteso.

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

Sdk

neow3j di AxLabs

AxLabs ha rilasciato neow3j v3.16.0 a marzo. Gli sviluppatori che utilizzano la nuova versione troveranno nuovi tipi supportati per la parola chiave instanceOf, metodi di utilità per la creazione di gruppi di contratti e il recupero di transazioni non firmate e supporto per l’ereditarietà delle strutture, tra gli altri miglioramenti e correzioni di bug.

https://github.com/neow3j/neow3j

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit di NGD Enterprise

A marzo, NGD Enterprise ha rilasciato la versione di anteprima del debugger N3 aggiornato, apportando nuovi miglioramenti alla produttività per gli sviluppatori. Le modifiche influiscono principalmente sulla visualizzazione di archiviazione, in cui i flussi di byte chiave/valore vengono decodificati in tipi di ordine superiore per la leggibilità e la facilità d’uso. Il compilatore di contratti intelligenti Neo per C# è stato aggiornato per facilitare le modifiche; una volta che i compilatori per altri linguaggi seguiranno l’esempio, tutti gli sviluppatori a contratto nell’ecosistema N3 saranno in grado di beneficiare dei nuovi miglioramenti del debugger.

Il team ha anche fatto progressi su una versione compatibile con Neo 3.2 del Neo Blockchain Toolkit, che dovrebbe essere spedita vicino alla data di rilascio di Neo 3.2.

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

Portafoglio

NeoLine di NEXT

Il portafoglio di estensione Chrome di NEXT NeoLine ha ricevuto diversi aggiornamenti questo mese. Un pulsante di reclamo GAS diretto per N3, ottimizzazione logica della punta dAPI, regolazioni della cache e correzioni di bug sono stati implementati nelle versioni più recenti del portafoglio.

https://neoline.io/

NEOFS

NeoFS di Neo SPCC

Neo SPCC ha completato diversi aggiornamenti NeoFS nell’ultimo mese, culminando in quattro aggiornamenti del modulo: neofs-contract v0.15.0, neofs-node v0.27.6, neofs-http-gw v.0.19.0 e neofs-s3-gw v0.19.0.

Gli aggiornamenti dei contratti hanno portato a una migliore efficienza gas e hanno aumentato il numero di mappe di rete che possono essere memorizzate nel contratto netmap. L’aggiornamento del nodo si è concentrato prevalentemente sulle correzioni di bug, con nuove funzionalità che sono state invece introdotte in una versione di anteprima v0.28. Il gateway S3 ha ricevuto il supporto per la configurazione delle notifiche, l’override dei criteri di posizionamento e altri miglioramenti e il gateway HTTP ha ricevuto correzioni di bug e supporto per gli spazi negli attributi dell’oggetto.

Gli sviluppatori che utilizzano neofs-cli troveranno nuovi miglioramenti UX, come una barra di avanzamento per download / upload e un nuovo comando per la creazione di token al portatore. Neo SPCC ha anche lavorato per sviluppare un prototipo di API RESTful e miglioramenti S3 Authmate UX.

https://fs.neo.org/

revisione

Controllo tramite Red4Sec

Un certo numero di nuovi contratti intelligenti sono stati programmati per la revisione da parte del team Red4Sec. Il team ha completato un audit per lo stack GrantShares, test dell’ambiente NeoFS, una revisione delle recenti modifiche di Flamingo e ha iniziato a studiare soluzioni per il progetto PayProxy.

https://red4sec.com/en