The IntelliJ Plugin for Neo won the Best General Project award in the recent Neo Frontier Launchpad. It allows users to create and manage private networks, explore blocks and transactions, create wallets and transfer assets, and deploy or invoke smart contracts.

The project is essentially an equivalent of the Neo Blockchain Toolkit for VS Code, but ported for use in JetBrains IntelliJ-based IDEs. IntelliJ is an open-source platform that allows users to build tools (i.e. IDEs and plugins) in any language. The platform was developed by JetBrains, a company that provides tools for more than 10 million developers.

In its current form, the plugin provides basic functionality such as exploring blocks, creating private networks (using Neo Express), managing wallets, transferring assets, and deploying or invoking contracts. Thanks to its ease of integration with any IntelliJ-based IDE, the tool closely aligns with Neo’s long-term goal of bringing its programming tools to each developer’s own preferred environment.

Beyond VS Code

The Neo Blockchain Toolkit has become a highly prized tool in Neo’s arsenal for developers, providing all the key infrastructure needed for blockchain application development. It also targets the most popular developer environment, VS Code, reported to be used by over half the respondents of Stack Overflow’s 2019 developer survey. This choice resonates with Neo’s ambition to onboard traditional developers rather than purely compete for mindshare in the relatively small existing blockchain developer community.

Despite the ubiquity of VS Code, many traditional developers remain loyal to fully-fledged IDEs, which tend to provide far greater levels of functionality out of the box. In general, IDEs attract developers who spend most of their programming time with a specific language. Naturally, this leads to the creation of more opinionated development platforms which are designed to best serve that language’s unique features or ecosystem.

To maximize Neo’s reach amongst both blockchain and traditional developers, integration with all popular coding environments is a vital pursuit. IntelliJ-based IDEs, including IDEA, PyCharm, GoLand, and others, boast a significant developer mindshare and cover a rich variety of languages, making the platform a strong choice for Neo integration.

Building forward

The IntelliJ plugin was built by Irshad Nilam, a software developer based in Sri Lanka. Nilam is a freelance developer who spends most of his working time on passion projects. He discovered the Frontier hackathon while researching Proof of Stake-based blockchains, following observations on the high energy cost of PoW networks.

With prior experience building plugins for IntelliJ, Nilam recognized the opportunity to participate in the hackathon. The plugin quickly attracted interest from the judges, as it was one of the few hackathon projects to provide developer infrastructure rather than offering an on-chain service. The choice proved to be fruitful, with Nilam receiving the highest hackathon prize at a total of US $18,000 as the Best General Project, due to landing a 1.5x multiplier during the Planathon phase.

John deVadoss, NGD Enterprise head, commented:

“The IntelliJ plugin for N3 reinforces the developer-friendly nature of N3 as well as the extensive tools platform that the Neo community have built over the years. The plugin team stands on the shoulders of giants AND raises the bar for the Java developer community. Superb engineering work by Irshad.”

For now, Nilam aims to complete the plugin’s basic functionality and achieve stability. While talking to Neo News Today, he shared a few of the key items on a list of new features to add:

“The next major step is debugging, then importing NEP-6 wallets, then invoking contracts in MainNet and TestNet.. Express [also] supports a bunch of things like checkpoints, I haven’t looked into that feature yet.”

Nilam also showed interest in creating a templating library, intended to make it easy for new users to bootstrap their first projects with well-tested code. These templates could be contributed by different developers across different languages and used when creating a new project in an IDE.

At the time of press, the plugin is approaching its first 100 downloads. It can be downloaded at the link below:
https://plugins.jetbrains.com/plugin/17195-neo