NEO News Today presents its third NEO community development summary, covering major accomplishments and contributions to the NEO protocol and independent projects by community development teams.
From this point forward, NEO News Today’s community development reports will shift to a quarterly release schedule. This report contains the most notable progress made in Q1 2019 by the various NEO development communities.
During Q1, NeoResearch continued its efforts working as part of the NEO core developer team to refine and improve NEO’s dBFT consensus mechanism. The new version, dBFT 2.0, is currently undergoing testing as part of the neo-cli 2.10.x update on the NEO TestNet.
To accompany the dBFT 2.0 implementation, NeoResearch also released chapter 8 of the NEO community yellow paper, providing technical specifications for the consensus mechanisms and addressing the various benefits, issues, and solutions.
The team has also spent time studying state-of-the-art quantum cryptography mechanisms, culminating in a presentation at NEO DevCon 2019 in Seattle. NeoResearch is analyzing the various possible algorithms and has pressed forward in its proposal of a hybrid mechanism for the NEO blockchain in its pursuit of quantum-safety.
NeoResearch also rolled out several updates to its browser-based NEO contract compiler and provided a video introduction to the UI and the deployment and invocation of an example ‘Hello World’ contract. NEO News Today’s coverage of the update and video may be found here.
COZ underwent a major restructure during Q1, with the aim of focusing the development efforts of its contributors on the most useful ecosystem tools. As part of the restructure, COZ has streamlined its rewards system, hoping to steer developers into higher priority work. These changes also hope to improve the transparency of the rewards system, replacing the existing “black box” with a better-defined model and proof of disbursement.
In the new rewards system, issues are tagged based on their expected impact, which correlates to the importance and rewards of each task. COZ has narrowed the projects eligible for rewards to the following repositories: neon-wallet, neo-scan, neon-js, neo-debugger-tools, neo-python, neo-go, and neo-storm.
Each of these repositories now has an initial roadmap to specify the overall project direction, though these roadmaps are subject to change following input from existing contributors.
Neo-debugger-tools saw a lot of development in Q1, focused on the goal of making the debugger cross-platform. The project includes a GUI which allows smart contract AVM files to be loaded and disassembled into more easily readable opcodes. The IDE can step through the source code or assembly code for debugging purposes.
Following the finalization of the NEO Enhancement Proposal for AVM code mapping, neo-debugger-tools will begin to integrate map support for contracts written in Python and Typescript. This allows developers to see in the source code precisely where a fault in the AVM is located. Finalization of the proposal would standardize these maps, making them language agnostic.
During Q1, COZ also rolled out version 2.1.0 of the Neon wallet, which provided support for multiple public addresses when signing in with the Ledger Nano hardware wallet. Improvements were also made to the node selection algorithm and its QR code and webcam support. An overview of changes v2.1.0 can be found here, though it should be noted that at the time of writing, version 2.2.1 is the most recent release.
In mid-January, COZ released version 0.8.3 of neo-python, including a full CLI refactor and other stability/usability improvements such as support for GET requests. During February, version 0.8.4 was released with assorted bug fixes and new features, including transaction size fee calculation and the ability to attach priority fees to transactions. The full neo-python changelog can be viewed here.
Throughout Q1, the neo-go project also received many notable contributions. Work began on a full implementation of the NeoVM written in Golang, and most RPC methods found in neo-cli have been implemented in pursuit of feature parity. The project continues to progress on its current goal of implementing all necessary features for the node to function as a Golang neo-cli alternative.
As a more recently created project, during Q1 the neow3j Java library remained focused on its initial implementation. Support for version 2.9.x of neo-cli and its API has been completed, alongside the integration testing for which the team reports flawless compatibility with the .NET NeoVM and neo-python.
The team also began efforts to introduce the project to the community by speaking with B.Sc students at the University of Zurich and ETHZ in Switzerland, and by attending NEO DevCon. The process of documenting the use of neow3j for Android apps has begun, with examples now available on Github.
Moving forward, the team aims to complete its support for smart contracts, create an internal wallet, and further improve its documentation to lower the barrier to entry for developers that wish to make use of the project.
NEL’s most prominent release in Q1 was Teemo, a Chrome extension wallet for the NEO blockchain that incorporates the proposed dAPI standard. Hoping to increase security and accessibility for users whilst improving the onboarding process for dApp developers, the Teemo wallet can be compared with the Ethereum-based MetaMask.
The team also completed work on its fast synchronization solution for NEO nodes, requiring its own modified NEO client called neo-cli-nel. By removing the data validation and classification steps and allowing chain data to be directly modified in leveldb, fast sync hopes to help developers quickly synchronize their node instances. NEO News Today’s coverage of the release and the included tutorial can be found here.
NEL also continued work on its LightDB project, which separates neo-cli’s RPC service from its storage database. This process is hoped to create lightweight nodes with remote access to a network database, with the goal of improving node performance and load balancing. The team produced an introduction to the project that can be found here.
NEO St. Petersburg Competency Centre
Throughout Q1, the NEO SPCC team maintained focus on its flagship project, a decentralized storage platform for NEO and a NeoFS candidate. It completed the majority of its roadmap items for Q1, including the implementation of its storage mechanisms, node application API and a smart contract intended to handle payments and accounting.
NEO SPCC also made over 20 contributions to open-source repositories in the NEO ecosystem, gave a presentation of its proof-of-concept at NEO DevCon, and published numerous articles and guides. NEO News Today’s coverage of NEO SPCC’s Q1 progress can be found here.
The most notable accomplishment of O3 Labs in Q1 is its continued work on a NEO dAPI standard. By defining a standard protocol interface for wallet providers and dApps, O3 hopes to encourage developers to join the ecosystem and improve security for NEO users.
In an effort to further facilitate the onboarding of developers that may be unfamiliar with blockchain technology, O3 Labs begun a collaboration with NEL to produce the SmartEco package. SmartEco leverages the dAPI to connect developers with the NEO blockchain without the need to build their own wallets.
O3 also began an endeavour to better support non-fungible tokens on NEO through the creation of an NFT explorer and token foundry. Users may now create their own NFTs on the NEO TestNet and view all existing NFTs that follow the accepted NFT standard.
NEO-ONE, an all-in-one dApp development suite for TypeScript NEO contracts, noted its contributions to the NEO core protocol and VM. The team has also continued development of its node infrastructure and has added a 1-click deployment feature for running a NEO-ONE node on Heroku.