Neo Global Monthly Report

February 2021

Neo Global Monthly Report


February proved to be another busy month for the core developers, who continue to work tirelessly to prepare Neo3 for the formal TestNet launch. Within the first few days of the month, Neo3 Preview5 was released, allowing distributed testing of the latest functionality.

As the most feature-complete version of Neo to date, Preview5 provided MPT-based state services with automatic pruning, ensuring consistent data execution results for blocks while minimizing state bloat.

Preview5 also introduced the new Neo domain name service, compatible with traditional IP domain names in addition to normal contract or wallet address binding. This feature will allow easy-to-remember domain names to replace cryptic public addresses, helping the Neo platform become even more user friendly.

According to the latest estimates, the formal Neo3 TestNet is expected to launch in the second half of March, putting Neo on track for MainNet release around June. This window of time will give core developers a chance to push any iterative updates required for network stability, and leaves time for Neo developer communities to update and integrate their tools and infrastructure. The latest information can be found on the RC1 checklist.




Core developers continued to add features and fix bugs in the state root service. One PR added P2P functionality to the state service, including the ExtensiblePayload to send signatures (#512), and another PR corrected faulty logic where the state root witness could be null (#525).

Both these changes have now been merged to the master branch, and two additional improvements have been assigned for review. These new updates will check the magic before enabling state root console commands (#528) and fix hash calculation logic (#529) respectively.


NeoFS Transplanting

The NeoFS reference implementation is written in Go, so through February NGD continued work to transplant relevant logic to C# for a more seamless integration with nodes running the core client. In the past month, the team has completed updates to neofs-api-csharp and resolved a number of bugs. By the end of the month, integration of NeoFS into the oracle module was under review (#518).


Infrastructure Impact

In February, two new opcodes were added into the Neo contract system, POW and SQRT, used to calculate the power and square root of a value respectively. These additions will simplify the development of smart contracts depending on these functions. Corresponding logic changes across the Neo core, virtual machine, and .NET devpack were all completed (#399, #2359, and #472).

Another PR (#2300) moved several consensus-specific settings from the native policy contract, such as MaxTransactionsPerBlock and MaxBlockSize. These settings are instead added to the configuration file for the dBFT plugin, where they can be increased in coordinated updates between nodes.

A native contract update history was also implemented (#2332), adding versioning support and allowing native contracts to be deployed according to blockchain heights declared in its update history.

The team has also made progresses to allow plugins to work with multiple NeoSystems in PR #2323, which makes it possible to run neo and neofs in a single process.

Other improvements to the core aimed to clean and further simplify the codebase. Examples include the removal of singletons from neo-core (#2302) and adjustments to some system call fees in order to standardize the fee format (#2331). In the process, CpuFee and StorageFee were also differentiated in order to assist fee calculations. Lastly, signing and signature checking functionalities have been updated (#2331). Please take note that, due to signature script structure modification, previous Neo3 wallet addresses will be incompatible with the Preview5 version.





Project Milestones


Flamingo Finance by NGD

Through early February, the Flamingo team was intensively engaged with the community to explain the proposed changes laid out in FIP #2, including a Discord AMA session with Gao Yuan, product lead. Following the proposal’s approval, the team shifted its focus to development of the new functionality and began making the required preparations to handle asset migration.


NeoGo by Neo SPCC

Neo SPCC rolled out a number of improvements to its Go node implementation, including a NEP-11 compliance check at the compiler level and an improved smart contract API for native contracts.

The team also experimented with several changes to test their impact on performance. BoltDB buckets were investigated and benchmarked with no notable gain, however a P2P transaction batching experiment demonstrated a 15% improvement in throughput.


NeoTube by NEXT

NeoTube is now compatible with Neo3 Preview5, with optimizations on address details, transaction details and block details pages.


Boa by COZ

COZ released Neo3-Boa v0.7, bringing it into live with Preview5. The new version implements iterator interops and extends the built in Python support. COZ also released atomic swap and wrapped NEO contract examples.


Neow3j by AxLabs

In February, the AxLabs team released neow3j v3.7.0 and v3.7.1, which adapted the SDK, devpack, and compiler to be fully compatible with the Neo3 Preview5 release and introduced a range of new functionality.

The team is also reported progress on new changes required for compatibility with the upcoming Neo3 release candidate. A new neow3j update will be made available as soon as possible to allow Java developers to start building on the Neo3 TestNet.

AxLabs has also remained in close contact with NGD Enterprise to ensure a seamless integration of neow3j with the Neo Blockchain Toolkit for VS Code. This prescient collaboration aligns with the desires of voters in a Twitter poll held by the team, where voters selected easy setup dev environments as the most important resource for smart contract development.

NEO•ONE by NEO Tracker

The NEO Tracker team released NEO•ONE v3.1.0-preview4.2 in February, featuring compatibility with Preview4 networks. The update notably includes a TypeScript smart contract compiler, allowing developers to write Neo3 smart contracts in TypeScript for the first time. Over the next few weeks, the team will continue to work on Preview5 and later RC1 compatibility.

Neo Blockchain Toolkit by NGD Enterprise

NGD Enterprise completed implementing Preview5 support for the Neo Blockchain Toolkit, releasing compatible versions of Express, Debugger, Visual DevTracker, and Visual Token Designer. Additionally, the team began a “headless” node initiative with accompanying code prototypes for a strategic project.

Project head John deVadoss also published a strategy paper which reviewed the current state of the enterprise blockchain market and vendors (Amazon, IBM, JP Morgan, Microsoft and R3 Corda).


Neon by COZ

COZ opened beta testing for the mobile version of the Neon Wallet, available on both iOS and Android.


NeoFS by Neo SPCC

The St Petersburg team continued its rapid development pace through February, finalizing several final pieces of infrastructure in preparation for the TestNet launch. The local garbage collector for storage nodes was completed, and the API now also includes RPC methods for container size estimations and for fetching a node’s network view.

NeoFS smart contracts also received several changes, now refactored and provided with migration methods for any later updates. Contracts also support both the new interops from the recent Preview5-compatible NeoGo release and notary contracts as the mechanism for creating multi-signature transactions.

Neo SPCC also rolled out updates to NeoFS services, including a CDN cache invalidator and fixes for issues in S3 gates where file names contained spaces and UTF-8 symbols. Additionally, support for streaming and bearer tokens through HTTP gates was implemented.


NeoCompiler Eco by NeoResearch

In February, the Neo Research team finished its implementation of most Neo3 functionality in NeoCompiler Eco. Users are now able to compile, deploy, and invoke smart contracts using the web-based service. Further adjustments are currently underway in order to align with the Neo3 TestNet.


Code Audit by Red4Sec

Red4Sec maintained its usual core development focus in February, continuing its ongoing security audit of the Neo3 source code. This included the delivery of a report on the Preview5 release, which revealed three potential Denial-of-Service vulnerabilities that are currently being resolved. The team also began its review of Neo3 RC1 prior to its official release in the near future.




Neo participated in a number of community discussions on Flamingo, DeFi, and careers in blockchain.


Marketing Events


Neo3 Preview5 and its TestNet was released with Oracle plugin, state service, Neo Name Service, LedgerContract and various improvements.


Flamingo product lead Gao Yuan joined the Flamingo Discord community for an AMA session to give in-depth explanation about the proposed asset flow redesign, and answered questions from the community.


Da Hongfei joined a bunch of industry leaders in a Clubhouse session to talk about whether DeFi is improving or deteriorating the wealth gap.


Neo EcoGrowth manager Denis Suslov appeared in an online session hosted by the MouseBelt University to talk about “Careers and Use Cases in Blockchain”.