# Introduction

# Purpose

The purpose of the API document is to serve as a guide on how to use API in Miyabi. It contains all the relevant information for each endpoint such as request and response bodies and parameters.

# Definitions of Parameters

Parameter Type Description Limit Comment
Table Name string Name of a table N/A
Address hexadecimal Byte string of a public key N/A Not null
Key bytestring Byte string used as the key for table entries N/A
Height signed int32 Number that shows a block's position in the chain min=0, max = max(int32)
Current height signed int32 The height that consensus is currently running at min=0, max = max(int32)
Start Height signed int32 The starting height used when designating a range of blocks min = 0, max = max(int32) If it is greater than the current height, an object not found error will be returned. If it is not defined, it will be calculated by depth from the current height.
Depth signed int32 The maximum number of blocks will be retrieved min =0, max = (int32) Defaults to 10, if it is null.
Block ID hexadecimal Each block has Unique Hexadecimal ID called block ID N/A
Transaction ID hexadecimal Each transaction in the blockchain has a unique hexadecimal ID called transaction ID N/A Can be calculated through the CLI command GettransactionId using the transaction as an input

# Swagger

Details of the API can be found at {host}/swagger/index.html.

# How to Get Private Keys and Public Keys

Miyabi supports the following methods for managing public keys and private keys.

  • Generate a pkcs12 certificate with a random private key with the following CLI command:

    • ./miyabi-cli generatepkcs12 -d <directory to store certificate> -f <file name>.
  • Get a private key from a pkcs12 certificate with the following CLI command:

    • ./miyabi-cli parsepkcs12 -f <Absolute file path for 0.p12 file>.
  • Get a public key from a private key with the following CLI command:

    • ./miyabi-cli getpublickey Private_Key.