- 22 March 2019 Advanced guidesAdded advanced guide "Emulating Multi Signature Accounts on the Blockchain"
- 10 February 2019 Features
- 5 February 2019 Graphical Installer
- 17 January 2019 Ardor Software Change LogAdded 2.2.2 changelog
- 8 January 2019 Lightweight Contracts
- 31 December 2018 Alias systemImproved Alias feature description
- 31 December 2018 How to tokenize your farm using IgnisAdded advanced guide "How to tokenize your farm using Ignis"
- 31 December 2018 Launch Compliant Security Token Offerings (STO) in Three Steps using IgnisAdded link to "Launch Compliant Security Token Offerings (STO) in Three Steps using Ignis"
- 24 December 2018 Basic tutorialsAdded link to Issuing Nonfungible Tokens (NFTs)
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.
Ardor Fee Structures
|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|
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:
- Download the Windows installer for the latest official Ardor Client 2.2.1 from https://www.jelurida.com/ardor-client.exe. If you want to test our newest features, such as lightweight contracts, you must select the testnet option during the installation process.
- Ardor's Windows client comes as an .exe file. After downloading it, you can verify its integrity by performing an integrity check
- 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.
- 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.
- 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.
- Download the Mac installer for the latest official Ardor Client 2.2.1 from https://www.jelurida.com/ardor-installer.dmg. 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.
- Run the installer package (Ardor's Mac installer comes packaged in .dmg format) and follow the instructions on screen
- Click on the ardor-installer.app
- Select the language
- Click on 'Next' to begin with the installation
- Accept the terms of the license agreement
- Select the installation path
- Select the packages you want to install
- Check the options See the tutorial for setting up the Ardor testnet
- Once installed, click on finish
- You can now run the Ardor software clicking on the "ardor.app" 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 ardor-client.sh and follow the instructions. Or you can follow the more generic instructions as explained below:
- Change to your home folder and download the latest client (version 2.2.1):
wget https://www.jelurida.com/ardor-client.zip.ascand verify that the signature is correct:
gpg --with-fingerprint ardor-client.zip.asc. If you want to test our newest features, such as lightweight contracts, you must select the testnet option during the installation process.
- Unzip it:
- Now it's time to start the software. You may start it by executing
nohup ./run.sh &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.1 started successfully.This shell window will be running the Ardor server and print all the Ardor log messages, so it needs to stay running!
- 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.
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.
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 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.
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.