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.
How to get Started?
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
bundlecommand doesn't work, just run
gem install bundlerin a terminal.
Getting Set Up
- Clone this repository from GitHub
git clone https://github.com/ArdorNxtCommunity/ardor-api-doc.git
- 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!
If you'd prefer to use Docker, instructions are available in the wiki.
How to contribute?
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
- 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') %>
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.
Questions? Need Help? Found a bug?
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.