Basics

Learn the basics of blockchain development on the Aion network. This section walks you through how to compile, test, deploy, and interact with your Java contracts.


End to End

You can utilize the built in Java testing packages when creating your dApps on the Aion network. They allow you to deploy your Java smart contract and write tests to interact with the contract under a real Aion blockchain environment without actually running an Aion blockchain. In this section, we're going to be walking through the entire workflow of deploying a Java contract to the local kernel, writing some tests, and finally running those tests against your project.

/developers/basics/test-and-debug/end-to-end/


IntelliJ

Once a dApp has been written, it can be compiled and deployed to a local or remote blockchain network. Deploying dApps is similar to how regular applications are deployed currently, however there are some differences. One major difference is that to deploy an application to a public blockchain network, an account must be supplied with tokens in order to cover the deployment costs. However, when deploying to a local network through the Aion4j plugin there is no need to create an account or supply it with test tokens, as everything is contained within the local network.

/developers/basics/deploy/intellij/


IntelliJ

This guide walks you through how to call dApps on the local kernel and on remote networks using IntelliJ and the Aion4j plugin.

/developers/basics/interact/intellij/


Intellij

Learn how to compile your dApps using the IntelliJ IDE and the Aion4j plugin. In IntelliJ, each contract is compiled before it is deployed. During your development cycle, it is very unlikely that you will need to manually compile a contract within IntelliJ. However, if you do find the need to compile a contract without deploying it, then follow this process.

/developers/basics/compile/intellij/


Maven CLI

Translate your code from Java source-code down to Java bytecode, so that it can run on the Aion blockchain. This command is the same for both local and remote deployment. Regardless of where your contract is going to end up, you must compile it on your local machine first. There is no way to compile your contract using a remote node.

/developers/basics/compile/maven-cli/


Maven CLI

Once a dApp has been written, it can be compiled and deployed to a local or remote blockchain network. Deploying dApps is similar to how regular applications are deployed currently, however there are some differences. One major difference is that to deploy an application to a public blockchain network, an account must be supplied with tokens in order to cover the deployment costs. However, when deploying to a local network through the Maven CLI there is no need to create an account or supply it with test tokens, as everything is contained within the local network.

/developers/basics/deploy/maven-cli/


Maven CLI

Calls to a contract can either be simple calls, or contract transactions. Calls do not necessarily incur a cost, but contract transactions always incur a cost as they are changing the state of the blockchain. Calls to a contract will always return something, whereas contract transaction may not depending on the function called.

/developers/basics/interact/maven-cli/


Web3.js

We will be using Node.js and aion-web3.js library to interact with a Java smart contract on the blockchain.

/developers/basics/interact/web3-js/