-
Notifications
You must be signed in to change notification settings - Fork 113
Home
AionJayT edited this page Nov 11, 2020
·
19 revisions
This wiki is a guide to using the Aion blockchain network.
The Aion implementation is distributed across multiple modules to allow for code reuse:
- The Aion Core contains the main functionality of the Aion network and can be downloaded from the releases page.
- The Aion FastVM is an enhanced Ethereum Virtual Machine provided as a separate module.
- The Aion Miner repository contains code and documentation for mining blocks on the Aion blockchain.
- The Aion Compatible Web3 Api repository provides a Web3 application programming interface for interacting with the Aion blockchain.
- The Aion Java Api repository provides a java programming interface for interacting with the Aion blockchain.
- .git*** The github repository settings.
- mod*** The modular source code of the aion blockchain.
- 3rdParty The 3rd party libraries source code for building the aion module dependent libraries.
- DockerAutomation The settings of the Aion kernel docker image.
- IdeEnv,eclipse The settings of the IDEs.
- blockade The local network setup testing suite.
- gradle* The gradle relate settings and executing files.
- libs The dependent libraries of the Aion kernel including pre-built 3rd party libraries, AVM/FastVM libraries, and other supported module libraries.
- native The native c/c++ dependent libraries of the Aion kernel.
- Jenkinsfile The CI settings.
- aion.sh The Aion kernel launch script.
- script The scripts for building/packing the Aion kernel.
- tooling The tooling for setup the Aion custom network and the staking block signer.
- networks The default network setting of the Aion kernel including the genesis block, protocol settings and the kernel configs.
The Aion Core is jdk11 module based implementation:
- The [modAionImpl] aion core unity protocol implementation.
- The [modUtil] aion core common library.
- The [modApiServer] aion core api daemon for aion binary api protocol and web3 protocol client.
- The [modBoot] the boostrap lib for aion core.
- The [modCrypto] the crypto library, include blake2b, sha, edcsa, ed25519 etc.
- The [modDbImpl] blockchain key value database implementation, support levelDb, rocksdb, h2 and mongoDb.
- The [modEvtMgr modEvtMgrImpl] event support framework for blockchain kernel.Ref link
- The [modP2p modP2pImpl] peer to peer library support aion wire protocol.Ref link
- The [modTxpool] blockchain transaction pool interface and implementation.Ref link
- The [modRlp] RLP implemention , which is serialization solution for aion core..
- The [modLogger] logger module.
- The [modPrecompile] precompile contract module.Ref link
- The [modBase] The blockchain base components use in the other aion modules
- The [modAvmStub modAvmVersion1 modAvmversion2] The AVM bridge modules for linking the AVM libraries.
The Aion installation guide is available in the repository README.md file.
This wiki also contains documentation on:
- Genesis Block - description of the network genesis block
- Database - storage configuration options
- Internal Miner - enabling and disabling the internal miner and collecting AION
- Command Line Interface - using the command line options to interact with the network
- Build your Aion network - the guide for build your Aion network step by step.
Basics
Kernel Configuration
- Build Aion kernel from source
- Installation & Configuration
- Command Line Interface
- Graphical Interface
- Database
- Internal Miner
- Genesis Block
- Aion Seed Nodes
- JSON-RPC API Docs
For Developers
- How to load/debug project to IntelliJ IDEA
- Aion Code Conventions
- Migrating from Ethereum
- Precompiled contract details
- Troubleshooting the kernel
- Aion P2p Specifications
- Aion transaction Specifications
- Aion pending state and the transaction pool
Tutorials
- Importing Accounts
- Kernel Deployment Examples
- Reverting to Previous Blocks
- Application Development
- Enabling-HTTPS-for-JSONRPC
- Enabling Secure connection for Aion Java API
Modules
Tools