Several independent Neo development communities have published their first tooling releases for the N3 RC1 TestNet. Developers can use the available infrastructure to begin building applications or integrating existing services with Neo N3 using their language of choice.
Neo Blockchain Toolkit for VS Code
N3 tooling releases kicked off on March 23, with NGD Enterprise’s release of a new Neo Blockchain Toolkit version. The new updates add support for both Neo Legacy and Neo N3 across the Debugger, DevTracker, and Express.
Used primarily for quickly deploying a local development environment and testing smart contracts, the debug, deploy, and invocation tools included with the NBT can be used with Neo contracts compiled from any language.
NGD Enterprise has also provided newly developed resources to help onboard new users to the Toolkit. Quick start videos have been published in addition to a written step-by-step tutorial on how to implement a smart contract using C#.
As the core language used by Neo, numerous other C# resources can be found in the official N3 documentation. Developers can find guides on how to set up local Neo networks or operate a node on TestNet, how to compile and deploy smart contracts, and how to go about writing their own smart contracts in C#.
Neow3j (Java/Kotlin/Android)
The AxLabs team announced the release of neow3j v3.8 on March 26, bringing Java support to the N3 TestNet alongside several other improvements. The examples repository has been updated to demonstrate the use of the SDK and devpack in several use cases, including contract development, deployment, JSON RPC calls, and wallet management.
Java contract samples are also provided, including a basic Hello World contract, fungible and non-fungible tokens, and a simple storage example. The compiler also emits the required debug information needed for debugging with the NBT.
Boa (Python)
Support for Python on N3 RC1 landed on March 24 with the release of Boa v0.7.1. The update brings various fixes and new features for the compiler, such as storage context support and the ability to reassign variables with a function’s scope.
COZ continued to expand its list of smart contract examples by implementing an AMM. The sample demonstrates how to implement the logic for token swapping, handling liquidity provision, minting LP tokens, and more.
NeoGo (Golang)
Neo SPCC released its N3 RC1-compatible NeoGo version on March 19, providing an alternate node implementation for use on the TestNet. Alongside the node update, the release also included a range of modifications to the compiler, such as new standards compliance checks.
Contract examples written in Go have been provided to demonstrate different features, including how to handle contract storage, working with iterators, and a NEP-17 token contract. By specifying an additional flag when compiling contracts, Go developers will also be able to generate the debug files needed for use with the NBT Debugger.
Neon.js (JavaScript/TypeScript)
A new update for Neon.js (v5.0.0-next.7) was released by COZ on March 24, adapting to the newest protocol changes. Now aligned with RC1, the provided libraries make it easy to interact with the N3 TestNet.
Though still a work in progress, most basic use cases are already supported. For developer convenience, the NetworkFacade class has been provided which simplifies the process of building and broadcasting a transaction over RPC. Efforts are ongoing to add voting functionality to the NetworkFacade, which would allow applications to easily participate in governance or provide voting interfaces for users.
Over in Seattle, the NEO Tracker team is also hard at work on an RC1-ready version of the NEO•ONE suite, which will include a TypeScript compiler. Once completed, this will make TypeScript the fifth language to be supported for writing N3 smart contracts.
About The Author: Brett Rhodes
Brett is a blockchain enthusiast and freelance writer who originally began producing content for the gaming & eSports industries. Now he spends most of his time contributing in the Neo ecosystem.
More posts by Brett Rhodes