On May 14th at Consensus 2019 in New York, head of NGD Seattle John deVadoss and NGD blockchain engineer Longfei Wang gave a presentation on NEO dApp development and previewed new developers tools; the NEO Toolkit for Visual Studio and the NEO Express Node.

The presentation aimed to provide a holistic introduction to the NEO ecosystem, including an explanation of the platform’s design and unique attributes such as support for contracts in multiple languages, and the absolute finality of NEO’s dBFT consensus mechanism.

Building on NEO

Following the introduction of NEO, Longfei Wang outlined the steps for building on NEO, such as setting up a private network for development, using NEO clients, implementing smart contracts, and then interacting with them.

For this, Longfei provided an overview of existing NEO developer tools and demonstrated a preview version of the new NEO Toolkit for Visual Studio. The video demo may be found below or at this link.

Longfei also noted the various compilers available on NEO, including online, browser-based solutions such as NeoCompiler Eco and NEORAY. These one-stop solutions aim to remove environment preparation from the development process, allowing developers to focus on building and debugging their applications.

During the presentation, Longfei fielded questions from curious developers that showed interest in the development process on NEO.

NEO Toolkit for Visual Studio and NEO Express Node

John deVadoss spoke further on the NEO Toolkit following Longfei’s demo and introduced the NEO Express Node by NGD Seattle. These tools aim to simplify the dApp development process, providing what deVadoss refers to as the “F5 experience” and line up with NEO’s goal of being the most developer-friendly platform.

The NEO Toolkit is compatible with both Visual Studio and Visual Studio Code, and can be used to write, compile, and debug NEO smart contracts from within Visual Studio, a conventional and widely adopted IDE.

The NEO Express Node aims to make it easy to create, launch, and manage a multi-node private NEO network in a simple manner. The network may be configured as desired, and aims to enable “complete end-to-end prototyping scenarios.” Following a recent contribution to the NEO GitHub, NEO Express will also allow single-node blockchains to be deployed.

To accompany the preview of the NEO Toolkit and Express Node, deVadoss provided a demonstration of the Express Node and Toolkit by creating a single-node private NEO network, opening a demo wallet, claiming GAS, and showing the deployment of a simple NEO contract.

The demo may be viewed below or at this link, and shows all of these steps being completed within a couple of minutes.

To demonstrate that the contract had been deployed successfully, it was then invoked to show the private blockchain behaving as expected. deVadoss emphasized that simplicity and symmetry (across different NEO environments such as private networks, TestNet and MainNet) are key design goals of the projects and important for onboarding new developers.

Interacting with the NEO Blockchain

Longfei followed by commenting on how dApps may then interact with the NEO blockchain via two different means; the dAPI standard and via SDK.

NEO SDKs such as Neow3j for Java and neon-js for JavaScript aim to make it simple for developers to interact with any NEO network, including MainNet, TestNet and private networks. These libraries include all necessary functionality to help developers focus on building their applications rather than wasting time building from scratch.

The dAPI standard was also introduced, which can also be used to interact with NEO without requiring dApp developers to build their own wallet interfaces. Longfei introduced O3, Teemo, and NeoLine, which share common API methods that can be used by developers to communicate with the wallets.

To conclude the presentation, Longfei provided a full walkthrough demo for the creation of a ‘Smart Donation’ NEO dApp using NEO-ONE, an all-in-one development solution for JavaScript and TypeScript developers. This demo can be viewed below or at this link.