In recent years, the Neo community has systematically focused on improving the experience of developers building on the Neo platform. When the Neo (then Antshares) MainNet launched in 2016, it broke new ground by being the first public blockchain to use a classical Byzantine Fault Tolerance-based consensus mechanism. It was also the first smart contract platform to be founded in China.
These achievements, coupled with Neo’s vision of a Smart Economy, (defined as smart contracts + digital assets + digital identity) attracted a wave of new interest. Developers flocked to Neo to take advantage of features like free and fast transactions, and Neo’s dual token model.
However, while Neo excelled in areas of innovation and speed, documentation and tooling lagged. Many of the development tools at the time lacked maturity or complete and accurate documentation. The result was that it was difficult to set up development environments and build and debug smart contracts.
Historically, Neo’s community has been on hand to point new developers in the right direction, passing knowledge on from one person to the next. Those new to the ecosystem have always been able to get the help they need by visiting the dev-general channel in the Neo Discord.
Although the development experience has improved dramatically, the Neo community is still ever present for newcomers. Neo News Today reached out to grassroots developers recently active in the Neo Discord to learn more about their experiences developing on Neo.
MyMingo developer and designer, Altazor, acknowledged the accessibility of Neo’s developer community and the help they’ve offered. He said, “I usually find what I need in the end either way, but when I don’t, I just reach out to the helpful members in the Discord channel who point me the right way.”
Looking forward to the Neo N3 MainNet, documentation and tooling becomes more and more critical as functionality expands.
Establishing the vision for Neo’s tooling
The NeoVM is capable of executing bytecode compiled from multiple languages, attracting developers of various backgrounds. As a result, there is no concentration of resources dedicated to a domain-specific language, as there might be with other blockchains. This fragmented approach has obstructed developers in the past.
Grassroots ecosystem developer, Kokahunter, recalls the tooling and development processes available during the nOS Developers Event held in 2018. He said:
“At that time, I developed with python on a windows machine. Setting up private net, node, dev env… was very difficult at the beginning. While developing, it was almost exhausting: Change code in smart contract, build, deploy on node, send test transactions – error – start from beginning. The inner dev loop was a pain.”
When the NGD Enterprise (then NGD Seattle) team officially joined the Neo ecosystem in Feb. 2019, office lead, John deVadoss, signaled intent for prioritizing the developer experience.
In speeches, deVadoss would note that there were 20 million developers across the globe, but a very small portion of those were working in blockchain. To address and capture this large resource pool, he posited Neo must deliver an intuitive platform-like experience. In an Oct. 2019 interview with EAK Digital TV, deVadoss said:
“You begin at the developer. You make it really easy, really simple, and really productive for developers to be able to build apps on blockchain platforms, obviously including Neo as well. And the more we can get folks to start trying, piloting, building, and deploying, the faster we’ll get there.”
This vision has paved the path of NGD Enterprise’s tooling releases in the years since. The Seattle office’s premier product, the Neo Blockchain Toolkit, was designed to remove even the smallest hindrances to developing on Neo.
NGD Enterprise Toolkit
The first version of the Toolkit was released in Jan. 2020 and allowed developers to easily run private network instances, enabled the creation and debugging of C# smart contracts, and simplified contract deployment and invocations. Since that time, it has grown to offer a testing suite, various smart contract examples, and other tools.
NGD Enterprise designed the Neo Blockchain Toolkit to remove as many unnecessary processes as possible, a topic chief architect Harry Pierson highlighted in a recent NNT podcast episode. He said, “Every time you can shave a little bit of pain out of the developer’s life, the better. There’s no problem too small when you do it a million times an hour.”
Kokahunter, a self-proclaimed data nerd, noted that today’s tooling eliminates delays in the programming environment previously experienced at the 2018 developer event. He said, “N3 fixes that nearly completely. From setting up blockchain toolkit in VS Code to deploy a simple oracle contract (in C#) that fetches data from Coingecko and writes it to storage, it took me two consecutive evenings after work.”
Once N3 launches, Kokahunter intends to spin up a website focusing on network data analytics.
Neo ecosystem grassroots developer, Fireche, also touted the Neo Blockchain Toolkit’s simplicity and ease. He said, “I think I am, like 90% of anyone else, working with VSC as there are amazing addons. I am having a blast… it’s so easy to create your own private net, deploy and invoke contracts, create test wallets, and so on.”
Another developer, zlewe1997, also conveyed the ease of use from an N3 beginner’s perspective. He said, “The tools are really convenient to use. Having a GUI makes many things easier and faster. One click to start a private net, transfer asset/deploy contract using the menu, and much more. It basically let me really focus on the development of the smart contract without worrying about other things.”
When the MyMingo DeFi-based project launched in April 2021, it was Altazor’s first experience developing in the Neo ecosystem. He has since tested features on both Neo Legacy and N3.
“One of the biggest differences,” Altazor said, “is that the documentation for N3 is much better. Neo’s documentation and helpful tools and tutorials found at NGD Enterprise’s website sure goes a long way to get the journey on N3 started.”
In addition to the Neo Blockchain Toolkit, developers coding in other languages have been active in the dev-general channel inquiring about neow3j and its new N3 tools.
Neow3j is a Java library and toolkit that aims to provide easy and reliable integration to Neo clients. It was developed and is maintained by AxLabs, a Swiss tech company specializing in software and infrastructure engineering.
Using the neow3j suite of tools, developers can easily and reliably build Neo dApps and smart contracts. In recent months, community members have inquired further about the limits of its features and SDK. One developer, Blond, noted:
“Neo might offer the best developing experience I encountered so far. I only tried N3, and I’m using Java, so basically we are talking about neow3j, the JVM library for N3. Being able to write contract in Java is a huge boost. Although there are limitations, but it’s very clear what you can and cannot use.”
Blond noted the responsiveness of the developer community when running into issues that caused the NeoVM to crash. Blond said, “I opened an issue on GitHub, then neow3j’s developer got in touch with me on Discord and we fixed that bug in a week.”
Future of documentation and support
One thing still remains core to the Neo ecosystem ever since the Antshares days — its community. As Neo’s development tools have matured, so have the ways in which new developers can learn from those that came before them. The Neo developer community is instrumental in passing on knowledge.
COZ has released new resources to help onboard developers, including a forum where developers can ask technical questions and receive support from the community, and the tutorial platform / tech hub Dojo. Dojo is a portal where developers can learn about coding on the Neo blockchain, from basic setup to full dApp deployment. COZ’s goal is to provide an ever growing library of information leading up to the roll out of N3 and beyond.
Neo, as an ecosystem, is maturing based on the lessons learned and experience since the Legacy MainNet launched in 2016. The Forum and Dojo are extensions of the Neo ecosystem to cement informative conversations and offer a central location for tooling support.
Neo’s long-term vision of becoming the most developer-friendly platform has been a talking point for many years, and is becoming today’s reality.
Neo is currently running the Neo Frontier Launchpad, a competition for anyone interested in exploring N3 or building a project on the new blockchain. All ideas are welcome and participants will compete for more than US $100,000 in prizes with post-event incubation and vesting opportunities.