Welcome the Ardor platform API documentation
This repository holds the API documentation of Ardor Blockchain Platform and will be hosted on the Developers section.
Ardor is the first 3rd Generation blockchain platfrom which brings a smart innovative way to tackle many of the current blockchains problems seen today based on a combination of Parent-Childchain architecture, Lightweight Smart Contracts, Subnets, Prunable Blockchain and many other features in development roadmap.
Ardor vision is to bring an easy access to blockchain technology for everyone. This API documentation is specially targeted for developers, but non technical individuals can use explore the full potential potential of Ardor platform using its simple to use User Interface or Wallet that can be found here.
You're going to need:
- Linux or OS X — Windows may work, but is unsupported.
- Ruby, version 2.3.1 or newer (but we recommend to stick with 2.3. because of dependencies requesting versions less than 2.4.0)*
- Bundler — If Ruby is already installed, but the
bundle
command doesn't work, just rungem install bundler
in a terminal.
- Clone this repository from GitHub
git clone https://github.com/ArdorNxtCommunity/ardor-api-doc.git
cd ardor-api-doc
- Initialize and start Ardor Doc. You can either do this locally:
bundle install
bundle exec middleman server
You can now see the docs at http://localhost:4567. Whoa! That was fast!
Now that Slate is all set up on your machine, you'll probably want to learn more about editing Slate markdown, or how to publish your docs.
If you'd prefer to use Docker, instructions are available in the wiki.
For those who don't have JavaScript runtime or are experiencing JavaScript runtime issues with ExecJS, it is recommended to add the rubyracer gem to your gemfile and run bundle
again.
If you want to contribute in writing and maintaining this documentation please proceed as follow:
- Clone this repo.
- Follow the Getting Started steps to set up your environment and build the documentation
- Open the code in your favorite IDE (Visual Studio Code can be fine)
- Start a contribution:
- Open the
<LocalRepo>/source/includes/
- Select the markdown file you want to contribute on
- Write the API call documentation starting by the code, then description, then the parameters, the specific notes if any
- Open the
- When you finish a contribution, please submit a Pull Request with a clear message defining the work done
- Your contribution will be reviewed and merged as soon as possible. But, please be prepared to receive comments and adjust your contribution
As you may notice in code, creating a parameters' table is made easier by centeralizing all the API inputs in the file <LocalRepo>/source/includes/_api_inputs.json
, and then simply using a Ruby tag in the Markdown file as in the example below:
Parameter | Type | Description
--------- | ---- | -----------
<%= getParameter('param1', 'required', 'This is an additional description') %>
<%= getParameter('param2', 'optional') %>
The function getParameter(paramName, visibility, addDescription=nil)
will be called during the documentation generation process, will read from the JSON file and output a new line in parameters table with the Name, Type, Description[+addDescription].
This way, we can have only one source of description for the parameters and when ever we modify this source, all the documentation will be updated accordingly.
This GoogleSheet keeps track of the current contributors, please take a look at it before starting to contribute in order not to double spend time on a section which is already on progress.
If you want to be a permanent contributor to this documentation, please contact us on Slack or Discord channels
If you have any question, need assistance or found an issue within the code or in the documentation, please visit the Ardor Slack or Discord channels
This documentation is based on Open Source projects below. We want to thank them for their efforts and give them credit for all their contributions.