BLOG March 18, 2022
February was the second full month of stable operation for Neo v3.1. As network activity maintains its steady trend upwards and new applications look to deploy on MainNet, Neo continues to signify to the broader blockchain space that security does not need to come at the expense of usability.
This month, the core developers shifted their efforts to code maintenance and began exploration into new enhancements for the protocol. Meanwhile, the Digital Asset Unit at NGD stepped forward with a number of updates for the NeoFS C# version. The Inner Ring plugin for the NeoCLI node is now under code review, and testing for the Notary service has begun.
Neo SPCC has worked closely with the DAU during development of NeoFS C#, advising on implementation details and assisting with testing to ensure its correctness against the original Go version. Once DAU’s efforts on this front are complete, NeoCLI users will be able to operate as both Inner Ring and Storage nodes. In turn, the NeoFS network is provided with an extra layer of decentralization via heterogeneity.
The Go node used to power the NeoFS reference implementation received a number of prominent changes in February. Neo SPCC achieved full compatibility with Windows OS, and made it possible to run lightweight nodes that do not sync blocks.
AxLabs also made waves on its own NeoFS integration, beginning with the addition of related utilities to the neow3j SDK for Java developers. NGD Enterprise placed its attention on improvements for the Smart Contract Debugger, designing a more developer friendly way to explore contract storage, while NEXT iterated on NeoLine with new functionality to allow custom NFTs to be added to the extension wallet.
The full February Neo global monthly development report can be found below.
Neo v3.1 enters into its third month of stable operation since release
No updates landed in the master branch for the Neo core this month, though several potential updates were explored and pushed to the development branch for testing and thorough review. Most notably, a proposal to tune the maximum transaction per block setting for the N3 TestNet was merged, increasing from 512 to 5000. This proposed change would increase the TPS ceiling to 333, allowing a fully filled mempool to be completely flushed within only 10 blocks, easily meeting the needs of the platform for the future.
Testing and optimization begins for C# Notary service implementation
The Digital Asset Unit has submitted its C# implementation of the Notary service for review. Initially deployed as an experimental feature in NeoGo by Neo SPCC, the Notary service simplifies the process of creating and relaying multisig transactions. The system is a key part of the NeoFS network where it enables significant optimization of internal operations.
NeoFS Inner Ring plugin for core node enters review stage
The C# implementation of NeoFS has been in development for several months. The necessary functionality is provided in the form of plugins that can be installed in the core Neo node client. In February, the Inner Ring node plugin was submitted for review and testing. Inner Ring nodes act as a bridge between the Neo MainNet and the Neo sidechain which carries internal NeoFS operations. Once complete, the IR plugin will make it possible for C# nodes to participate in the management of the NeoFS network, enabling the provision of distributed storage services together with storage nodes and the network’s internal smart contracts.
Infrastructure and Tools Development
Enhanced the devpack with improved instanceof keyword support and began integrating NeoFS utilities into the neow3j SDK
Added support for custom NEP-11 tokens in the NeoLine wallet and improved NFT property parsing
Completed support for the Windows platform and for running lightweight nodes in NeoGo
Prepared for the preview release of new storage exploration interface for the Neo Smart Contract Debugger
Reviewed fixes for vulnerabilities in Flamingo and Lyrebird contracts and began researching exploits in NEO/ETH cross-chain bridges
In February, Neo SPCC completed full support for the Windows platform, a milestone achievement which substantially increases the project’s potential reach. The recent focus on state functionality also produced a significant milestone with complete support for lightweight nodes, relying on MPT for verification rather than directly storing the full blockchain state.
Other assorted advancements include deletion of stale NEP-11/17 tracker data, chain processing speed improvements via memory cache optimizations, and multithreading support for RPC clients. The team also completed a new tool that makes it possible to generate Go smart contract bindings from a manifest file.
Smart Contract Compiler
AxLabs focused on integration of NeoFS into the SDK in February, with the intention to deliver an example NeoFS project that neow3j can wrap around to provide necessary functionality. The devpack also received improvements, such as extended class support for the Java instanceof keyword with the Hash160, Hash256, ECPoint, and Array types.
Smart Contract & dApp framework
Through February, NGD Enterprise worked on a significant new set of debugger enhancements targeting the contract storage component. The coming preview release will replace the existing byte stream view with typed, developer-friendly key-value representations.
In its most recent update, NEXT made it possible for NeoLine extension users to add custom NEP-11 tokens by entering a valid NEP-11 smart contract address. Other improvements in February included improved error responses for RPC in the dAPI, optimized NFT property parsing, and various bug fixes.
In February Neo SPCC released v1 RC1 of its neofs-sdk-go and v2.12 of the neofs-api. Notable improvements include an improved client and pool in the former, and support for the RFC6979 signature scheme for requests and tokens in the latter. Other noteworthy changes this month are a fix for data splitting between shards, updates to the TZHash implementation, and an automatic read-only mode in shards in the event of errors being detected.
On the Service front, the team completed NATS integration into the S3 gateway and neofs-dev-env and NeoFS integration with the docker registry tool set distribution. Drafting of a RESTful API for the HTTP gateway is now underway.
Auditing by Red4Sec (https://red4sec.com/en)
In February, Red4Sec completed its audit of the PayProxy smart contract, detecting a critical vulnerability in the process. Fixes to issues in the Flamingo and Lyrebird stacks were also reviewed, and vulnerabilities were reported to the NeoLine maintainers. More recently, the team has turned its attention towards possible exploits in ETH-NEO cross-chain bridges.
Community funding platform GrantShares nears MainNet pilot test
Following on from last month’s successful deployment of the DAO beta to TestNet. The project’s landing page and web app progressed through planning, design, and development phases. Its leading team, AxLabs, is now preparing a pilot test with two new projects to the ecosystem that are in pursuit of funds. The test run will operate on the N3 MainNet and assist in evaluations of the grant process and overall user experience.
One of the first two projects to land on GrantShares for the pilot run is headed by developer Alex Walker. Kickstarted by a grant from Neo News Today, Alex aims to produce a Dropbox-style app that uses NeoFS, along with accompanying resources to help guide other developers through the process of creating their own decentralized applications that use the NeoFS platform.
The documentation, currently available at https://neo-docs.onrender.com/, helps walk developers through the primary concepts and libraries they will need to build on Neo and NeoFS. Tutorials in Go are also provided, with plans to expand with Python, C#, and other examples over time. Its maintainer is also working alongside PXT to bring the new resources across to the official developer portal which is currently in development.
PXT nears release of its new Neo developer portal for the official website
The Product Experience Team has launched a number of key initiatives since its formation. One of the most directly visible is the Developer Portal, a new section of the official Neo.org website which serves as a comprehensive collection of tools and resources.
The portal makes it easy to find core Neo concepts, local environment setup guides, and examples for smart contracts, dApps, and other integrations. All languages and tools are supported; the portal preview already features tutorials from community groups.
The portal preview can be found at https://developers.neo.org/ and already features tutorials from community groups across Python, Go, Java, and C#.