Development

GitHub metrics:

Developer activity (from Coinlib.io):

The AVM hard fork has officially happened!

What an incredible journey it has been to building the world’s first JVM-compliant Blockchain virtual machine. The team set out on the mission to build the AVM over a year ago and it has truly been a team effort. Part of that team includes the passionate community who have been supporting and cheering for the project through the crypto winter and into the spring !

The team made the strategic decision to leave the JVM intact so they could fully leverage the mature ecosystem around it. Leaning on a hardened language like Java was crucial since a major obstacle for a business interested in Blockchain is the cost and time needed to train their teams on unfamiliar frameworks, languages, and tools. The AVM removes those obstacles and provides developers with a familiar and reliable development experience. The team is very excited about the projects already building on the AVM and can’t wait to see them go live. Aion strives to bring Blockchain to the mainstream and the AVM is the first big step towards that vision.

If you, or someone you know is interested in building a dApp on the AVM, check out the Aion Docs for free comprehensive tutorials and tools to get started.

Lastly, the team has written a few AVM-related articles over the last year you might have missed so if you want a deeper dive, check out:

• TechCrunch

• CoinDesk

• Yahoo Finance

by Jeff Disher

The Aion Virtual Machine (AVM) is a component of the software running on the machines which maintain the Aion public blockchain network. Specifically, it is the part which runs the programs which users can store on the blockchain.

The key distinction of the AVM, as compared to the virtual machines on many other blockchains, is that the AVM can run blockchain programs (“smart contracts”) written in the Java programming language.

For more background, see this article where the team introduced using the AVM to run Java code on the blockchain.

Welcome Java Developers

The biggest news here is obviously for the Java community, itself. They can now build smart contracts directly in Java.

Further, the BloxBean Aion4J Maven plugin makes testing/deploying/calling smart contracts easy to integrate into an existing build system.

Additionally, the BloxBean IntelliJ plugin means that a familiar Java IDE can be used to aid in development, testing, deployment, and debugging. Yes, even debugging! The IntelliJ plugin runs the AVM internally, so you can debug Java smart contracts with full debug support (breakpoints, variable introspection, etc), directly in the IDE.

These tools are described in greater detail on the Aion Docs site:

Some of the new capabilities of AVM may also be of interest to existing blockchain developers:

Java object-oriented programming model, including custom types

Rich Java ecosystem and tools and patterns

Fast and inexpensive primitive data types

Hybrid storage model: both a key-value store and a transparent object graph

Strict IEEE 754 floating point support

Broader AVM Benefits

This is a big deal in terms of what can be run on a public blockchain, so those interested in the future of such systems should definitely take note of the AVM.

The AVM provides an entirely new avenue for building on-chain software.

This means that the broader ecosystem of development patterns and tools are potentially candidates for use in a blockchain environment, as in the case of the aforementioned Maven and IntelliJ plugins created by BloxBean.

Beyond that, the AVM also opens the door to further performance improvements on the nodes running the chain, which creates the possibility of allowing more complex blocks in the future . Some of this comes from our ability to capitalize on the performance of the JVM, but some of it also comes from Aion new hybrid storage model, and a great deal comes from Aion ability to run transactions concurrently.

Doing all the DB waiting at once

Note that the team demonstrated this concurrent transaction execution benefit prior to the fork, where they switched to using the AVM for balance transfers, back in Java kernel 0.3.4. By running multiple transactions at the same time, they can hide the time spent waiting for the DB.

The Future of AVM

Now that the team has AVM at their disposal, here are some of their future ideas: