Neo Global Monthly Report - Sviluppo

giugno 2022

Neo Global Monthly Report - Sviluppo

Punti salienti

La convenienza degli sviluppatori era un tema comune a giugno. Sia i repository Neo di base che i progetti sviluppati dalla comunità hanno ricevuto nuove funzionalità per affrontare i punti deboli o ridurre in altro modo il tempo trascorso dai costruttori che integrano Neo nelle loro applicazioni.

Nel nucleo Neo, le modifiche ai contratti nativi e al sistema RPC sono stati i miglioramenti più importanti in questa direzione. Un nuovo metodo di contratto nativo per verificare l’esistenza di un metodo in un contratto intelligente evita i costi e lo sforzo di sviluppo nell’analisi di un ABI completo e due metodi RPC per la gestione degli iteratori consentono agli integratori di recuperare i dati da un iteratore senza incorrere in limiti di nodo.

Allo stesso modo, gli adeguamenti alle infrastrutture comunitarie hanno seguito il modello. NGD Enterprise ha introdotto la nuova funzione di download del contratto come parte del Neo Blockchain Toolkit; un potente strumento che consente agli sviluppatori di testare le proprie applicazioni rispetto ai contratti Live MainNet o TestNet senza lasciare la sicurezza di un ambiente di sviluppo locale.

Un aggiornamento del devpack neow3j da parte di AxLabs ha introdotto interfacce contrattuali, un nuovo modo utile per gli sviluppatori Java di interagire con i contratti intelligenti distribuiti. Questa funzionalità integra naturalmente la funzione di download del contratto del Toolkit; gli autori di contratti intelligenti possono scaricare un contratto MainNet nella loro istanza Neo Express, quindi scrivere un contratto Java con un’interfaccia di contratto dinamica in grado di interagire con il contratto scaricato e i suoi dati di archiviazione reali.

Altri sforzi degni di nota sul fronte della convenienza degli sviluppatori includono l’aggiunta del supporto API WalletConnect all’SDK NeoFS da parte di Neo SPCC e un override delle commissioni di sistema introdotto in NeoLine dAPI da NEXT per garantire flessibilità agli sviluppatori di dApp.

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

SVILUPPO DEL PROTOCOLLO

SVILUPPO DEL PROTOCOLLO

Neo Core

Piccole modifiche al contratto nativo per migliorare la comodità degli sviluppatori e correggere i bug

Tre piccole modifiche ai contratti nativi sono arrivate a giugno. I metodi di contratto nativi sono ora ordinati utilizzando confronti ordinali, portando la compatibilità ASCII per evitare differenze di stato che potrebbero essere causate da differenze nelle impostazioni regionali.

Inoltre, è stato corretto un bug che impediva l’emissione di notifiche quando vengono registrati nuovi candidati alla governance e il nuovo
metodo hasMethod
è stato aggiunto al contratto nativo ContractManagement. Questo metodo consente agli sviluppatori di verificare facilmente se esiste un determinato metodo su un contratto intelligente senza la necessità di analizzare l’intero ABI, riducendo i costi del GAS nel processo.


NeoVM ottimizzato per migliorare la velocità di avvio automatico, l’esecuzione e gli errori di distribuzione risolti

Le ottimizzazioni per il NeoVM sono state completate, migliorando la velocità di sincronizzazione offline. Gli errori di esecuzione delle macchine virtuali in scenari specifici sono stati risolti anche modificando il metodo usato per inizializzare i campi statici relativi al thread ed è stato aggiunto un nuovo controllo dell’offset del metodo sulla distribuzione del contratto per evitare errori fuori limite durante la distribuzione.


La migliore gestione dell’iteratore su RPC atterra nei neo-moduli tra gli altri miglioramenti

Diverse modifiche mirate ai plugin Neo di base sono state presentate a giugno. La modifica più notevole è stata la gestione dei dati dell’iteratore restituiti da un contratto intelligente su RPC. Due nuovi metodi,
traverseiterator
e
terminatesession
sono stati aggiunti per consentire agli sviluppatori di recuperare tutti i dati da un iteratore senza incorrere in limitazioni del nodo.

Altre modifiche includevano una correzione di bug per il metodo StateService findstates

, il nuovo metodo RPC getcandidates

è stato aggiunto per migliorare la comodità degli sviluppatori per le integrazioni relative alla governance e un aumento del numero di nodi di consenso che rispondevano a RecoveryRequests nel modulo DBFT, migliorando l’affidabilità del consenso.

INFRASTRUTTURA E SVILUPPO STRUMENTI

INFRASTRUTTURA E SVILUPPO STRUMENTI

Punti salienti

INFRASTRUTTURA E SVILUPPO STRUMENTI

Attività cardine del progetto

Nodo

NeoGo di Neo SPCC

L’implementazione alternativa di Neo SPCC in Go è stata oggetto di una lunga lista di modifiche. Oltre a vari commit che hanno monitorato gli aggiornamenti di Neo 3.3.0 e 3.3.1, il team ha spinto una serie di nuove funzionalità e correzioni di bug. In particolare, le ottimizzazioni delle prestazioni per migliorare le degradazioni TPS dovute alle recenti modifiche al protocollo, le correzioni di bug nel sottosistema RPC, le correzioni dBFT e una serie di miglioramenti di registrazione, compilazione e CLI sono stati completati a giugno.

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

Sdk

neow3j di AxLabs

Neow3j v3.18 è stato rilasciato alla fine di giugno, portando il supporto per le varie modifiche introdotte in Neo v3.3.1. Il miglioramento più notevole del devpack è stata l’introduzione di nuove interfacce contrattuali per semplificare le chiamate ad altri contratti intelligenti distribuiti. Il team ha anche regolato la concatenazione delle stringhe rendendo l’operazione esclusiva per i tipi String, intesa a prevenire differenze nelle codifiche previste nella JVM rispetto alla NeoVM.

https://github.com/neow3j/neow3j

COMPILATORE

Boa di CO

I manutentori del compilatore di contratti intelligenti Python per N3 hanno identificato una serie di potenziali miglioramenti durante l’hackathon Polaris e nello sviluppo di progetti interni come Props. Gli esempi includono l’aggiunta di un metodo per convertire ECPoint e i valori della chiave pubblica nel modulo hash dello script e la possibilità di definire la lunghezza di un bytearray nel relativo costruttore. L’ultima versione di Boa porta anche il supporto per Python 3.10 e un assortimento di correzioni varie.

https://github.com/CityOfZion/neo3-boa/

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit di NGD Enterprise

La potente nuova funzione di download del contratto è arrivata nel Neo Blockchain Toolkit questo mese. Questa nuova funzionalità, sviluppata da NGD Enterprise in collaborazione con COZ, consente agli sviluppatori di scaricare facilmente i contratti intelligenti e i loro record di archiviazione da N3 MainNet o TestNet e aggiungerli a una rete privata locale basata su Express.

Il download dei contratti semplifica notevolmente il test delle integrazioni delle applicazioni o la scrittura di contratti intelligenti che richiamano dinamicamente i contratti esistenti. Gli sviluppatori possono mantenere il pieno controllo del proprio ambiente di sviluppo locale utilizzando dati di produzione reali per garantire un comportamento corretto.

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

Portafoglio

Neon Wallet Mobile di CO

COZ ha completato l’implementazione principale del suo portafoglio mobile a giugno e ora sta spostando la sua priorità sul perfezionamento dell’esperienza utente. Sono state completate diverse correzioni di bug e miglioramenti delle prestazioni e sono state aggiunte nuove funzionalità: supporto nativo per NFT e supporto per l’autenticazione PKI tramite WalletConnect.

https://github.com/CityOfZion/neon-wallet

NeoLine di NEXT

Fino a giugno, il team next ha ripetuto la nuova funzionalità aggiunta nel mese precedente. Il supporto del portafoglio hardware Ledger è stato migliorato e sono state completate diverse correzioni di bug. Un’aggiunta degna di nota è stata il campo overrideSystemFee aggiunto al dAPI, consentendo alle applicazioni la possibilità di personalizzare le tariffe di sistema in base alle esigenze.

https://neoline.io/

NEOFS

NeoFS di Neo SPCC

Un gran numero di miglioramenti del core e del servizio NeoFS sono stati completati a giugno. Nel nucleo, Neo SPCC ha rifattorizzato l’interfaccia della riga di comando per migliorarne la manutenibilità e unificare le interfacce comuni. Il supporto per l’API WalletConnect è stato integrato nell’SDK e sono state aggiunte ottimizzazioni dello storage locale per migliorare le prestazioni e ridurre il consumo di risorse.

Sul fronte del servizio, il gateway S3 ha ricevuto ottimizzazioni dell’elenco dei bucket, mentre il gateway HTTP ha visto modifiche alle dimensioni del buffer ai componenti interni per migliorare la velocità di upload / download degli oggetti. Il gateway REST ha ricevuto il supporto per le firme WalletConnect, fornendo una soluzione nativa per il controllo delle risorse NeoFS dalle app Web. Infine, il team ha aggiornato i dettagli e le informazioni sui prezzi per il prossimo lancio del servizio Morph.CDN, insieme all’integrazione del supporto per la zonizzazione dei bordi.

https://fs.neo.org/

revisione

Controllo tramite Red4Sec

Questo mese, il team di Red4Sec ha avviato il processo di auditing per i contratti intelligenti di Saffron Finance e ha esaminato le correzioni presentate per lo scambio GhostMarket GhostMarket e Muffin. Inoltre, anche le ultime modifiche al progetto PayProxy sono in fase di revisione.

https://red4sec.com/en