Neo Global Monthly Report

January 2021

Neo Global Monthly Report


Neo started the new year strong with the release of Preview5, a milestone achievement. As the most evolved form of Neo to date, Preview5 introduces a further simplified architecture via the new LedgerContract, and enables oracle usage for the first time through the Oracle service module.

This release contains the majority of the new functionality planned for Neo3’s final revision and will be a close match to the formal TestNet version, scheduled to launch in March. One of the last remaining major tasks, integration with NeoFS, has been a key point of development through January.

Outside of core development, Neo global community developer groups have continued their work to align infrastructure and tooling with the latest Neo3 changes. These endeavors are vital to the platform, creating a more accessible ecosystem through mature development tools for Python, JavaScript, TypeScript, Go, and Java in addition to the core C# support.

Slowly but surely the grand vision for Neo is becoming reality. Thanks to the efforts of both core and community developers alike, Neo is on track to onboard the next generation of blockchain developers and cement itself as the most user- and developer-friendly blockchain platform.



Neo3 Progress

Through January, the Neo core developer team completed development of the Oracle service module. This will be installed by oracle nodes, allowing them to serve oracle requests. Since the oracle contract and related logic were already released in Preview4, developers will now be able to begin testing smart contracts that access external resources in a decentralized manner.

State root was also a high priority task for the team to complete, using MPT to ensure block execution consistency. Included as part of the Preview5 node upgrade, the implementation introduces the necessary storage and validation logic and adds the required RPC methods/commands for interaction with the state service.

January also saw the introduction of new logic, such as the new native LedgerContract. This will store core data such as blocks and transactions, replacing various database tables to further simplify the code in Neo3. The decision to introduce this new contract led the team to release Preview5 in February, to be followed with a formal TestNet planned for March. These networks will be almost identical, the only major difference being the integration of NeoFS in the latter. More detailed information can be found here.



The state root implementation for Neo3 was split across three main parts. One part (#431) focused on storage logic and relevant P2P handlers, whilst another introduced RPC methods/commands (#475) for fetching the current state, verifying proofs, and more. Both of these parts were successfully merged and released as part of the Neo3 Preview5 node upgrade.

The final part of the implementation introduces necessary validation logic (#470). Currently under review, this PR will add the validation service to establish consensus on state root, and enables nodes to store only the latest state in order to remain lightweight.



In January, the core developer team completed the Oracle service (#326), the module responsible for enabling nodes to fulfill oracle requests. Various optimizations and fixes were applied throughout, and initial tests have shown good results across various scenarios. Now merged, this marks the completion of Neo’s native oracle functionality.


NeoFS Transplanting

NeoFS is a distributed, decentralized object storage network developed by Neo SPCC. Built with Neo blockchain integration in mind, NeoFS aims to support the shift away from third-party storage providers, providing users with complete control over their data. The service is designed to work with Neo smart contracts, allowing for truly decentralized applications, and can also be used as a content delivery network. Users can rent out storage in return for Neo GAS tokens or use GAS to store files in the network.

NeoFS was initially created in Go, however NGD is currently working to transplant NeoFS logic to C# for an improved integration with C# nodes. Over the past month, the team has added the Audit modules to an FSNode plugin, and updated the unit tests for the Inner Ring. The full integration with NeoFS is expected to be completed in March, ready for the formal TestNet.


Ledger Contract

In a bid to further simplify the codebase for Neo3, the new native Ledger Contract was created. This contract is the new home of any functionality related to the ledger itself, such as Block/TrimmedBlock and Transaction. The new approach gives a more unified design to the protocol, which functions predominantly through native contracts, with the implementation removing over 800 lines of unnecessary code.

Minimal impacts upon performance were noted during testing, leading to it being merged into the master branch. Since the changes also affect other repos, compatibility PRs were created for neo-node (#724), neo-modules (#477), and neo-devpack-dotnet (#440). All three have been merged, completing the preliminary LedgerContract implementation.


Infrastructure Impact

Modularity has been a recurring theme in Neo3’s development, and January was no exception to this type of work. Since consensus logic is only used by a subset of all full nodes on the network, the decision was made to move it from neo-core to a new plugin, dBFT module (#2212, #453). This also improves the future upgradability of the component, and also opens up the ability for users to swap in different consensus mechanisms in their own Neo networks. Only nodes with the dBFT plugin will be able to run consensus logic in Neo3.

The team also worked to introduce a new Neo Name Service (#2201, #422) in January. The goal of this new system is to replace the hex strings used for contract/account addresses with human-readable strings that are easy to remember. Users will be able to initiate transactions directly to a certain domain name, providing a more user-friendly alternative to public addresses. The service is implemented as a new native contract, NameService.

Other noteworthy changes include the ability for plugins to send their own custom messages (#2101), and the addition of a new opcode, POPITEM, into the Neo system (#387, #427). This opcode will remove the specified item from the list on top of stack, and then push that item into stack.





Project Milestones


Flamingo Finance by NGD

Between January 9th and 22nd, Flamingo attracted more than 500 community members around the world to participate in the Perp Trading Competition. The competition concluded with more than 1000 daily trades and a total trading volume of more than $4 billion USD. Rewards were distributed to the Top 39 ranked participants. During the competition, several areas requiring improvements were identified. The team is already working to improve the underlying mechanisms and overall user friendliness of the protocol.

Towards the end of the month, the Flamingo team also introduced FIP#2 to improve the overall usability and asset interoperability of the platform. Under this proposal, significant changes will be made to optimize the cross-chain asset flow process while maintaining value pegging to the original asset.


NeoGo by Neo SPCC

Changes to NeoGo in January were mainly focused on adapting the node to match core Neo changes. Notable additions include POPITEM support, consensus updates and extensible P2P payloads, and CALLT plus its associated app engine changes.


Dora by COZ

In January, COZ updated the Dora backend to bring it in line with the latest changes from Preview5, support for manifests and events in the process. A Neo3 front end for users has also been completed and will be released in the near future.

NeoTube by NEXT

The team completed its adaptation of the NeoTube explorer to Preview4. A redesigned UI for the contract page also accompanies the changes, with solutions for page data display issues.


Boa by COZ

Boa received a number of updates in January. In addition to alignment with the latest Preview versions, support for user-defined manifest fields and new interops for iterator, enumerator, and storage were added. Alongside the changes, unit tests and the test-driven-development framework and documentation were enhanced. Python 3.7 is now also supported, in alignment with Mamba, and ICO template and Atomic Swap contract examples are now available.


neon-js by COZ

Towards the end of January, COZ released Neon.js v5.0.0-next.5, providing Neo3 Preview4 compatible support for the most commonly used blockchain interaction patterns.

Mamba by COZ

COZ updated its Mamba SDK for Python to align it with the Preview4 release, and began working on compatibility with the more recent Preview5 release. Accompanying updates to the Blink Universal VM and BigInteger libraries were also completed in order to support new Neo3 Preview releases.


Neow3j by AxLabs

Over the last month, the team released neow3j 3.6.0 and 3.6.1, making the neow3j SDK, devpack, and compiler fully compatible with Neo3’s Preview4 release. Since then, the team has worked to adapt neow3j to Neo3 Preview5, with the goal of bringing the project to the same maturity as the C# smart contract tooling in the Neo ecosystem.

NEO•ONE by NEO Tracker

Through January, the team worked to close in on the NEO•ONE v3.1 release, which will support Preview 4 compatibility and includes its TypeScript Smart Contract Compiler. With this release, users will be able to write a Smart Contract in TypeScript and deploy it to the Neo3 Preview4 TestNet.

Neo Blockchain Toolkit by NGD Enterprise

NGD Enterprise rolled out Preview4 compatibility for Neo Blockchain Toolkit components, and began work on support for the latest Preview5 release. deVadoss also published an article in the Neo Column, introducing the concepts behind test-driven development and how the team is supporting this approach in the Toolkit. The article can be read in full here.


Neon by COZ

Neon Wallet contributors rolled out a number of updates to the desktop wallet through January. Dutch language support was introduced, and a number of performance tweaks were added. The team also corrected parsing for the SWTH token, and completed work on a new design iteration. The mobile version of Neon wallet is now in qualification.

NeoLine by NEXT

NEXT upgraded the mobile and Chrome extension versions of its NeoLine wallet, achieving compatibility with Neo3 Preview4. In the background, the team also fixed a few known bugs and optimized network performance for the application.


NeoFS by Neo SPCC

The team’s efforts in January culminated in a NeoFS TestNet launch, testing its sidechain nodes alongside the Preview4 TestNet. Notable updates include a control service for monitoring health, the network view of the storage node, and to manage its status. Neo SPCC also added support for multiple RPC endpoints and implemented data audit settlements in preparation for the next release.

Other improvements include a basic income economy model for storage nodes, and a new pre-configured docker image of the storage node, intended to speed up TestNet deployments. Work was also completed on the various NeoFS services, such as a draft implementation for object putting through HTTP gates.


NeoCompiler Eco by NeoResearch

In January, the Brazil-based Neo Research team accomplished almost all outstanding milestones for NeoCompiler Eco. The team pushed a new design for the website live, making it the new standard for Neo3 and introducing a redirect for the old Neo2 version. Nodes used by the service are all up to date with the master branch, and other behind the scenes infrastructure improvements have unified its blockchain interaction through neo-cli rather than using third party interfaces.




Da Hongfei was very busy in January, sharing his views with several publications and forums. Neo Foundation community specialist, Longfei Wang, also joined an AMA to discuss Neo3, while John deVadoss published an article discussing NGD Enterprise’s Test-Driven Development in the Neo Blockchain Toolkit.


Marketing Events

3rd - 5th

Da Hongfei was interviewed by CoinTelegraph for a series of new-year articles. Da shared his views on Bitcoin, blockchain adoption, and industry trends.


Da Hongfei, Yuan Gao, and Longfei Wang were invited to participate in the end-of-year special edition of “Crypto Intelligence Bureau” by TuoniaoX and shared their views on public chains, DeFi, and Neo3.


John deVadoss published a Neo Column article that delves into the practices of Test-Driven Development (TDD), and why his team has built out support for TDD in the Neo Blockchain Toolkit.


Da Hongfei joined the Asian Financial Forum online to share his views on the “State of Blockchain.”


Neo Foundation developer community specialist, Longfei Wang joined an O3 Live AMA and discussed the various new changes in Neo3, its all-in-one suite of tools, and how it will offer a seamless developer experience.


Da Hongfei published an article titled “Next on Flamingo: The Blueprint of DeFi Interoperability” to illustrate the rationale behind Flamingo and Flamincome’s upgrade proposals.