The AVM is a JVM-compliant blockchain execution environment that opens up the entire Java ecosystem and enables users to write smart contracts in Java.
The Aion Virtual Machine (AVM) is a Turing complete execution engine that is core to the Aion Network. The AVM runs Java bytecode on the blockchain, enabling developers to build blockchain-based applications in Java.
“After enabling developers to write smart contracts in Java via the AVM, the Web3j API completes the end-to-end developer experience and provides the first full Java stack on blockchain. It is now available through Maven Central and Bintray repositories and is integrated with the Maven and IntelliJ IDEA plugins to provide a seamless development workflow.”
– The Aion Team
Web3j / Aion is composed of the following modules:
- Encoder and decoder for interoperability with the AVM
- Code generation: CLI for contract wrapper generation from ABI and binaries
- Common functionalities like transaction signing and JSON-RPC implementation
Web3j provides connections for JVM application to blockchains. It was established in 2016 and currently provides integration for Ethereum supporting Parity, Gen and Patheon, as well as Quorum.
Its main features are:
- Smart contract wrappers
- Wallet support
- Build tools
- Reactive-functional API