BLOG March 16, 2021
February proved to be another busy month for Neo's 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.
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).
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 Preview 5 version.
Infrastructure and Tools Development
Completed development of the upgrades outlined in FIP #2 following community approval via vote and made preparations for the asset migration launch.
Opened testing on its Neon Wallet mobile app and released Boa v0.7 with Preview5 compatibility and smart contract examples.
Released NEO•ONE packages with Preview4-compatibility, including a TypeScript contract compiler, and made significant progress on Preview5 adaptations.
Released Preview5-compatible versions of the neow3j SDK, compiler, and devpack for Java developers, and began iterating on its next update for Neo3 RC1.
Finished upgrading its products for compatibility with Preview5 and made several optimizations to the NeoTube explorer.
Published NeoGo for Preview5 and implemented basic income settlement, storage node garbage collection, and CDN cache invalidation in NeoFS.
Implemented almost all Neo3 functionality required for NeoCompiler Eco, enabling users to write, compile, deploy, and invoke smart contracts through the web service.
Implemented Preview5 support into Neo Blockchain Toolkit components and began prototyping work for a new strategic project.
Continued Neo3 auditing efforts and delivered a report on the Preview5 code which disclosed three new vulnerabilities which are now undergoing correction.
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.
Explorer & Monitor
NeoTube by NEXT
NeoTube is now compatible with Neo3 Preview5, with optimizations on address details, transaction details and block details pages.
Smart Contract Compiler
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.
Smart Contract & dApp framework
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 Neo Research
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 from 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.
Marketing and Operations
Feb 3, Neo3 Preview5 and its TestNet was released with Oracle plugin, state service, Neo Name Service, LedgerContract and various improvements.
Feb 4, 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.
Feb 9, Da Hongfei joined a bunch of industry leaders in a Clubhouse session to talk about whether DeFi is improving or deteriorating the wealth gap.
Feb 25, Neo EcoGrowth manager Denis Suslov appeared in an online session hosted by the MouseBelt University to talk about “Careers and Use Cases in Blockchain”.
Feb 1, Poly Network struck a partnership with Zilliqa to drive interoperability within the Zilliqa community. The Poly bridge will also help to minimize the friction in asset cross-chain between DeFi protocols.
Feb. 4, Switcheo TradeHub was upgraded to v1.12.0, which included a UI update to the Demex trading platform.
Feb. 3, Moonlight announced the Vivid decentralized identity specification for Neo and Zilliqa was approved and merged by the W3C Organization.
Feb. 8, Nash announced it is combining traditional financial offerings with its non-custodial blockchain services. The company is developing new products that will include fiat-based checking accounts, high-yield savings accounts powered by DeFi, and a cryptocurrency-backed debit card.
Feb 8, Poly Network added support for HuobiEco Chain, allowing users to perform two-way cross-chain operations between Neo and Heco. Filda was the first project to integrate Poly Bridge where users can deposit Heco-based pNEO on FilDA for DeFi loans and receive rewards.
Feb. 11, TranslateMe completed its fifth corpus for testing, offering support for Hindi, Spanish, German, French, and Russian.
Feb. 16, Switcheo submitted the v1.14 software upgrade proposal, which limits oracle vote pruning and fixes a rounding error in the AMM quoting implementation. The proposal passed with unanimous support.
Feb 16, GhostMarket founder, Vincent Geneste, and musician, Jesse Gopln, joined the Music Entrepreneur Club livestream to discuss the NFT marketplace. The two talked about non-fungible tokens as an alternative method to derive revenue from a musician’s song. Vincent introduced how GhostMarket’s NFT marketplace could offer artists new methods to distribute content and novel ways to interact with fans, by allowing artists to bake in a royalty fee when minting an NFT. The royalty will distribute that fee to the creator from any future sales of the NFT, creating a new revenue stream for the artist.
Feb. 27, O3 Labs released O3 Wallet versions iOS 2.2 and Android 2.4 and integrated support for Polkadot, Binance Smart Chain, HuobiECO Chain and WalletConnect.