AVM Github
https://github.com/aionnetwork/AVM
Active Level
Aion regards AVM as the main virtual machine of its future public chain
AVM Architecture
AVM is not a modification or rewrite of the underlying JVM, but a bytecode transformer and runtime library, which provides control over how developers are allowed to interact with the AVM.
Hybrid Storage
Object Graphs
walk all class statics, adding each object found to a set of discovered objects and, if not already in that set, to a work queue
remove an object from the queue, scan it, adding each object found to the discovered set and, if not already in that set, to the queue
continue reading the queue until it is empty
Manual Storage
However, for bulk storage of data which requires off-chain verification, we also expose an API for manually interacting with a key-value store.
For the developer, this means taking advantage of the graph for application state and decision-making, while also leveraging the key-value store for large or per-user data. This also means applications which only have a very small size may have no need for the key-value store at all, as they rely entirely on the automatic management of the graph.
Consensus Hash
The difference is that we also hash the serialized object graph and combine that hash with the root hash of the trie in order to develop our hybrid storage root hash. This is the storage hash used in consensus.
This means that a Merkle proof cannot apply to objects in the graph, but can still be used to prove the state of the key-value store.
Transaction Billing
This means that we always run with transparent object graph persistence, but we always operate on the entire graph at once. As a result there is no special question of how to collect orphaned data from the storage. We keep this small by billing for the read/write of the graph on every transaction. If the graph is small, this is far cheaper and faster than issuing several small reads and writes for each transaction (instead, just issuing one larger one for the entire graph).
JCL Whitelist
https://developer.theoan.com/docs/custom-kits/fundamentals/aion-virtual-machine/jcl-whitelist
API
Contract Write
It support off-chain contract debug
It support third-party tools of java