Getting started

From ArdorDocs
Jump to: navigation, search

Other languages:

Ardor is a blockchain-as-a-service multi-chain platform that evolved from the time-tested and energy efficient Nxt blockchain. The Ardor mainnet launched on 01 January 2018. Through this documentation, you will learn all about the extensive capabilities of the Ardor platform. Begin developing your knowledge by reading about each of Ardor’s distinctive Features or consider trying the technology yourself by following some Basic Tutorials. For developers, documentation is provided for each of Ardor’s more than 250 APIs that can be used to quickly and cost-effectively deploy dApps and smart contracts that integrate your business processes with the Ardor blockchain. Check this site regularly for new content and updates as additional features are released.

Useful Links:

Ardor Whitepaper

Download Ardor developers cheat sheet

Download Ardor Fee Structures

Ardor Fee Structures

Transaction Fee (ARDR) Reasons
Default Ardor fee 1 permanent transaction
Default Child Chain fee 0.01 prunable transaction
New account fee 1 creates permanent global entity
Balance leasing 0.1 Ardor chain only, not frequently used
Ardor Coin Exchange 0.5 permanent transaction
Asset issuance 100 create permanent global entity, Ignis chain only, not frequently used, need to reduce scam assets
Singleton asset issuance 1 + 1 per 32b Ignis chain only, more frequently used, but still creates global permanent entity
Asset increase 10 Ignis chain only, rarely used
Dividend payment 0.1 needs processing, not frequently used
Set asset control 10 Ignis chain only, not frequently used, asset issuers only
Set account control 1 Ignis chain only, not frequently used
Cloud data upload 0.1 + 0.01 per 1kb prunable, but takes space
Poll creation 1 + 0.1 per option > 20 + 0.2 per 32b > 288b not frequently used, need to keep until poll is over, takes space
Phasing approval 0.01 per approved tx needs processing
Account info 1 + 1 per 32b permanent, Ignis only, rarely used
Set account property 0.1 + 0.1 per 32b permanent, Ignis only, not frequently used
Alias assignment 1 + 1 per 32b creates permanent unique entity, not frequently used
Shuffling (total) 0.12 takes space, but prunable, not frequently used
Shuffling penalty 10 IGNIS, 10 Bitswift must be affordable, but not negligible
Currency issuance 4 / 100 / 2500 creates permanent unique entity, not frequently used
Marketplace listing 0.2 + 0.2 per 32b takes space, need to keep until delisting, not frequently used
Marketplace delivery 0.1 + 0.2 per 32b takes space, need to keep
Permanent message 0.1 + 0.1 per 32b permanent
Prunable message 0.01 per 1k prunable
Phasing appendix 0.01 balance independent, 0.2 balance dependent + 0.01 per 32b size depends on size and complexity, needs processing
Composite phasing appendix 0.02 + 0.02 per 32b + per poll fees determined by phasing complexity
Referenced Tx deposit 10 refundable

Download Ardor

Before we begin, if you haven’t already done so, you may wish to check that you have the correct (usually most recent) version of Java installed on your computer.

To start with Ardor/Ignis, you must first download the client, also known as a "wallet", on your machine. The client is distributed as a binary package for the following platforms:

200px-Windowslogo.jpg200px-AppleLogo.jpg200px-Linuxlogo.jpg200px-RaspberryPi Logo.png200px-Android.png

Client Installation

  1. Download the Windows installer for the latest official Ardor Client 2.2.6 from If you want to test our newest features, such as lightweight contracts, you must select the testnet option during the installation process.
  2. Ardor's Windows client comes as an .exe file. After downloading it, you can verify its integrity by performing an integrity check
  3. Run the installer and follow the instructions on screen. Note that you can select either the testnet or mainnet during installation, if further details are needed please follow the step-by-step guide. Once installed icons will be created by default in your desktop and Start Menu.
  4. You can now run the Ardor software by clicking on the Ardor icon. After a few seconds, the Ardor wallet will open in its own window.
  5. If you already have created a Ardor account, click in 'Returning User' to introduce your passphrase. If you need to create your Ardor account, click here for instructions to Create a New Ardor Account.

  1. Download the Mac installer for the latest official Ardor Client 2.2.6 from After downloading, verify its signature. If you want to test our newest features, such as lightweight contracts, you must select the testnet option during the installation process.
  2. Run the installer package (Ardor's Mac installer comes packaged in .dmg format) and follow the instructions on screen
    1. Click on the
      MacInstaller 1.png
    2. Select the language
      MacInstaller 2.png
    3. Click on 'Next' to begin with the installation
      MacInstaller 3.png
    4. Accept the terms of the license agreement
      MacInstaller 4.png
    5. Select the installation path
      MacInstaller 5.png
    6. Select the packages you want to install
      MacInstaller 6.png
    7. Check the options See the tutorial for setting up the Ardor testnet
      MacInstaller 7.png
    8. Once installed, click on finish
      MacInstaller 9.png
  3. You can now run the Ardor software clicking on the "" in Applications. If you already have created a Ardor account, click in 'Returning User' to introduce your passphrase. If you need to create your Ardor account, click here for instructions to Create a New Ardor Account.

Here is the guide to installing the Ardor Client on a Linux 64-bit platform. 32-bit installation instructions are very similar; you just might need to download the 32-bit version of Oracle Java 8 instead of the 64-bit one.

You can use this instructions on your Linux VPS as well.

Set up Oracle Java 8

You can skip this step if you already have Oracle Java 8 installed. Otherwise, you can install it via PPA repository doing the following (for Ubuntu/Debian builds):

sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java8-installer

Install and run the Ardor Client

You can either execute the unix installer executable compatible with most linux distributions from and follow the instructions. Or you can follow the more generic instructions as explained below:

  1. Change to your home folder and download the latest client (version 2.2.6):
    cd ~
    wget and verify that the signature is correct: gpg --with-fingerprint If you want to test our newest features, such as lightweight contracts, you must select the testnet option during the installation process.
  2. Unzip it:
    cd ardor
  3. Now it's time to start the software. You may start it by executing ./ or nohup ./ & for running the Ardor node in the background, which you will find in the ardor directory. The server will be active as soon as you see in the window a text similar to this:
    Ardor server 2.2.6 started successfully. This shell window will be running the Ardor server and print all the Ardor log messages, so it needs to stay running!
  4. Open http://localhost:27876/ from a web browser to access the Ardor Client. Please note that, if it's the first time you run Ardor in your machine, the Ardor blockchain will need to be downloaded until it is up to date. Depending on the your network connection speed, this may take a few hours. The Ardor Client will show you a progress bar as the blockchain downloads. Now you can visit the click here for instructions to Create a New Ardor Account.
    • NOTE: If you've installed the client on a dedicated server or VPS, you should change "localhost" to your Server/VPS IP.

For installing the Ardor client on a Raspberry pi, you can refer to the description of an implementation with the Ardor client powered by solar panels

There is an Ardor Lite version in the Google play. Click on install with your Android devide and follow the instructions.

Also, starting from release 1.11.0e in the previous client was also released as a mobile app for Android. The mobile app is based on the existing web wallet packaged as an Apache Cordova application


The following usability enhancements were implemented for both the mobile app and web wallet:

Lock screen has been reworked to support QR code scanning for both the account id and passphrase.

Account id, passphrase and QR code scanning now use a button group to switch between input modes.

The remember account and remember passphrase checkboxes have been merged into a single "Remember Me" checkbox. Choosing the "Remember Me" option when in passphrase entry mode will save the passphrase on the device itself so that next time the user enters the app it will automatically load the main menu. Choosing logout will delete the passphrase.

All data entry modals now support scanning the account id and passphrase using the device QR code scanner.

The mobile app works as a light client, it will never download the blockchain to the mobile device and can therefore start to operate instantly after installation.


Upon startup, the mobile device randomly selects a remote node to connect to from a list of bootstrap nodes hard-coded into the app based on the available remote nodes at the time of the app release.

As usual, transactions are signed locally so that the passphrase never leaves the device.

Functions which require the passphrase to be submitted to a remote node are disabled for the mobile device.

In order to mitigate data manipulation attack by remote nodes, data returned by the remote node is validated against other remote nodes. In case of a difference, a visual indication is displayed on the toolbar to warn the user that the data returned by the remote node may not be consistent. The same mechanism is also used when working as light client or as roaming client while the blockchain downloads.

All communication with remote nodes is transmitted over insecure http connection since most remote nodes which support https use a self-signed certificate which cannot be used by the mobile app. In order to use https communication, one can configure the app to connect to a specific remote node as explained in the configuration section.

New Widgets

When running the mobile app, a link to the "Mobile Settings" menu is displayed on the lockup screen and welcome screen. The "Mobile Settings" menu is also accessible from the cogwheel menu.


The mobile settings modal allows the user to select the following configurations:

Check Remember Me Checkbox - determines the default state of the "Remember Me" checkbox (this setting was present in the account settings previously but did not work since version 1.5).

Simulate Mobile App - allows a web wallet to simulate a mobile app with respect to peer selection and other functions. This setting should only be used for development and troubleshooting and it is not displayed when running a mobile app.

Connect to Testnet - when checked, the mobile device will connect to testnet nodes instead of mainnent node. This mode is useful for testing and demonstration purposes.

Remote Node Address, Remote Node Port and Use Https - when relying on random public nodes is not good enough for your purpose, and in case you know of a trusted public node you can use, you can configure the address, port and protocol selection of this node using these settings. This will also allow you to communicate with the remote node over Https but only in case the remote node support CA approved SSL certificate.

Number of Data Validators - number of nodes with which to compare each response from the connected remote node. By default the client will use 3 such random nodes, this value can be reduced to 0 in case you are connected to a trusted remote node.

Number of Bootstrap Nodes - number of random nodes from which to select the connected node and the data validator nodes. These nodes will be further queried to obtain additional remote nodes.

Data Validation

In order to make sure that a random remote node to which the app is connected does not feed the app with false or malicious data, each request sent to a remote node is further confirmed with up to 3 additional remote nodes. The status of the confirmations is displayed as an icon with Green/Yellow/Red colors to the right of the "Mobile Client" status button. In case the indicator consistently displays Red values, this may hint that the connected remote node has been compromised.

Click on the "Mobile Client" link, to see a list of the latest requests from the remote node and their validation status.

In some cases, a temporary validation failure is normal, for example, while a new transaction propagates through the network, therefore use your best judgement.

Testing the mobile app

Users who wish to use the app have the following options:

1. Manually deploy the app bundle uploaded to BitBucket to their mobile device

2. Register an account at Ionic using your email, then install the Ionic View application on your mobile device, send me your email address so that I share the app with you, then from the ionic view options menu, select "Preview an app" and enter app id ec170f70

Need help?

Need help during the download or development process? Contact us on the slack #helpdesk channel, chat with community experts on the Ardor Forum, and take a look at the FAQ. You can also reach us opening a ticket in our helpdesk

Getting your first ARDR

With the Ardor client installed, it is now time to start transacting. To do that, we need to get some tokens, be it ARDR, IGNIS, or any other childchain. The Ardor mainnet is live and actual tokens are in circulation across numerous major exchanges.

Note the tokens we will be using in the next examples are from testnet. These tokens are not traded in exchanges and have no monetary value -- they exist only as a convenience for developers and those willing to experiment with the features.

The process for receiving testnet tokens is simple. Ask for them in the Ardor Forum, contact us on the slack channel #helpdesk. There is an external faucet as well.


Next steps

Learn how to use the Ardor platform by following the basic tutorials or start reading about Ardor's extensive built-in Features.

Feedback and errors

If an error in this documentation is found, we would love to be aware to correct it as soon as possible. Please write a question to the stackexchange and we will take care.