NEO Global Development (NGD) Seattle has released a preview version of the NEO Blockchain Toolkit for .NET, a set of tools that aim to accelerate the adoption of blockchain technology by providing a seamless and intuitive experience to developers.
The tool previews, originally unveiled at Consensus 2019, were recently demonstrated to NEO ecosystem developers at the NEO Community Assembly in Shanghai. Following the official announcement made at the NCA press conference, NGD Seattle has now released the preview toolkit to the public.
NEO Blockchain Toolkit
Designed for Visual Studio Code, the NEO Blockchain Toolkit is designed to provide contract developers with all the utilities they may require while building their projects in one familiar environment. Developers will be able to create contracts, run a private NEO network for testing, and also use a newly developed contract debugger directly within VS Code.
For developers looking to try out the new tools, a quickstart guide has been provided, which includes installation instructions alongside tutorials on creating and debugging smart contracts, running a NEO Express private blockchain, and how to deploy and invoke contracts.
NEO Express allows users to customize the number of nodes they require in the private network, including support for single-node consensus, and is intended to make managing the network and testing contracts as simple as possible. As NEO Express is based on the NEO MainNet codebase, developers can be assured that their experience will remain consistent between their private test networks and the live NEO network.
Smart Contract Debugger
One particularly powerful tool included in the toolkit is the contract debugger, allowing NEO developers to step through contracts, set breakpoints, and inspect local values or emulated contract storage all directly within VS Code.
To offer this functionality, the debugger maps the NeoVM bytecode instructions back to the source code. This requires additional information that must be provided by the contract compiler.
Currently only one compiler can output this required information, a fork of the standard NEO .NET compiler known as NEON-DE. The team intends to see the debugger enhancements included in the next official NEON compiler update.
Although this limits its use for other languages supported by NEO, NGD Seattle will aim to standardize the debug information provided by NEON-DE so that other compilers—such as the neo-boa compiler for Python contracts—will be able to work with the debugger in the same way.
Those looking to familiarize themselves with the debug info format are encouraged to read the design notes issued on the topic. Harry Pierson, NGD Seattle’s chief architect and designer of the debugger, made a special request for feedback from NEO ecosystem developers:
“…while I find the debugger intuitive, I realize that you may not feel the same. Please let me know if this is the case! I didn’t build the NEO Smart Contract Debugger for me, I built it for the NEO developer community at large. So if there are changes we can make to make it more accessible, intuitive, easier to use or just flat-out better – I want to hear about them.”