Skip to content

Kernel Deployment Examples

Yunfei ZHA edited this page Nov 6, 2019 · 10 revisions

After setup the system environment, you can get AionR Kernel binary package from Release Page, including:

  • an executable binary file: aion
  • 4 folders that contains configuration and genesis block file for Mainnet, Mastery, Amity and custom(solo) network
  • 4 quick run shell scripts for Mainnet, Mastery, Amity and custom(solo) network

Quick Run Execution on Mainnet, Mastery, Amity and Custom network

We recommend launching AionR with prepared quick run scripts: mainnet.sh, mastery.sh, amity.sh and custom.sh. The quick run scripts will load the *.toml and *.json from each network directory. Kernel will print configuration path, genesis file path, db directory and keystore location at the top of its log.

For your first time launching the the quick run scripts, you will be asked to enter super user password to install and update dependencies automatically. It is safe and we will not use super privilege to do any other things. If you are not good with this, you can follow the prerequisites guide to install dependencies manually.

Follow-Up Executions with mainnet.sh:

Mainnet Deploy Sample

After Kernel launching, $HOME/.aion directory should contains:

  • cache - cache directory
  • chains - database directory
  • keys - accounts keystore directory
  • config.toml - default configuration
  • jsonrpc.ipc - IPC connection file

If you launch AionR with a configuration where local_node = "p2p://00000000-0000-0000-0000-000000000000@0.0.0.0:30303", Kernel will generate a random node IP and fill it back into the original configuration:

[network]
local_node = "[NODE_ID]@[IP]:[PORT]"

Execution without Quick Run Scripts

If you wish to run the aion executable with configurations (to connect to a network other than the given networks or to use the configurations from another directory), you can: From the package root directory, configure the dependency path:

export AIONR_HOME=.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$AIONR_HOME/libs

Then launch the executable with --config options:

./aion --config=path/to/<custom_configuration>.toml

For example if you wish to run the mainnet, do

./aion --config=mainnet/mainnet.toml

If you want to use default configuration file but a custom genesis, you can launch Kernel with --chain options:

./aion --chain=path/to/<custom_genesis>.json

The data of the chains will be stored in the folder named after "dataDir" field in its genesis file.

Execution with self-defined Base Directory

If you want to use a self-defined base directory other than $HOME/.aion, edit configuration:

[aion]
base_path = "${HOME}/newBase"

OR launch the binary or quick run scripts with -d or --base-path

./mastery.sh -d=$HOME/newBase

Check out the new base path on the top of Kernel logs.

Sample Logs with launching Mastery with self-defined base directory:

$ ./mastery.sh -d=$HOME/newBase
> 2019-01-23 11:11:16 Config path /path/to/package/aionr-0.1.0/mastery/mastery.toml
> 2019-01-23 11:11:16 Genesis spec path /path/to/package/aionr-0.1.0/mastery/mastery.json
> 2019-01-23 11:11:16 Keys path /home/user/newData/keys/mastery
> 2019-01-23 11:11:16 DB path /home/user/newData/chains/mastery/db/f8ae64b686ab2cc6
Clone this wiki locally