This pull request introduces a comprehensive new API interface for the blockchain, leveraging OpenAPI v3 to facilitate direct consumption of chain data by GUI and web applications. This change significantly refines the project's build infrastructure, incorporating Conan for dependency management and CMake for configuration, alongside the integration of an OpenAPI Generator to produce SDKs for multiple languages. ### Highlights * **New API Interface**: Introduced a new API interface using OpenAPI v3 to enable GUI/WEB development to consume chain data without needing custom server applications. * **Build System Enhancements**: Significant updates to the build system, including Makefile, CMake, and Conan configurations, to streamline the build process and support new functionalities. * **Multi-language SDK Generation**: Integrated OpenAPI Generator to automatically create SDKs for various programming languages, including Go, Angular, and PHP, simplifying client-side integration.
9.6 KiB
Generated
lthn.BlockApi
All URIs are relative to http://127.0.0.1:36943
| Method | HTTP request | Description |
|---|---|---|
| create_block_template | POST /block/template | Create a block template for mining |
| get_block | GET /block/{identifier} | Get a block by its hash or height (ID) |
| get_blocks | GET /block | Get one or more blocks, with optional pagination. |
| get_height | GET /block/height | Get the current blockchain height |
| submit_block | POST /block/submit | Submit a new block to the network |
create_block_template
BlockTemplateModel create_block_template(block_template_request_model)
Create a block template for mining
Example
import lthn
from lthn.models.block_template_model import BlockTemplateModel
from lthn.models.block_template_request_model import BlockTemplateRequestModel
from lthn.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:36943
# See configuration.py for a list of all supported configuration parameters.
configuration = lthn.Configuration(
host = "http://127.0.0.1:36943"
)
# Enter a context with an instance of the API client
with lthn.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lthn.BlockApi(api_client)
block_template_request_model = lthn.BlockTemplateRequestModel() # BlockTemplateRequestModel |
try:
# Create a block template for mining
api_response = api_instance.create_block_template(block_template_request_model)
print("The response of BlockApi->create_block_template:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BlockApi->create_block_template: %s\n" % e)
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| block_template_request_model | BlockTemplateRequestModel |
Return type
Authorization
No authorization required
HTTP request headers
- Content-Type: application/json
- Accept: application/json
HTTP response details
| Status code | Description | Response headers |
|---|---|---|
| 500 | text/plain | - |
| 400 | text/plain | - |
| 200 | OK | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
get_block
BlockDetailsModel get_block(identifier)
Get a block by its hash or height (ID)
Example
import lthn
from lthn.models.block_details_model import BlockDetailsModel
from lthn.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:36943
# See configuration.py for a list of all supported configuration parameters.
configuration = lthn.Configuration(
host = "http://127.0.0.1:36943"
)
# Enter a context with an instance of the API client
with lthn.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lthn.BlockApi(api_client)
identifier = 'identifier_example' # str | The hash (hex string) or height (integer) of the block to retrieve.
try:
# Get a block by its hash or height (ID)
api_response = api_instance.get_block(identifier)
print("The response of BlockApi->get_block:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BlockApi->get_block: %s\n" % e)
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| identifier | str | The hash (hex string) or height (integer) of the block to retrieve. |
Return type
Authorization
No authorization required
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
HTTP response details
| Status code | Description | Response headers |
|---|---|---|
| 404 | text/plain | - |
| 400 | text/plain | - |
| 200 | OK | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
get_blocks
List[BlockDetailsModel] get_blocks()
Get one or more blocks, with optional pagination.
Example
import lthn
from lthn.models.block_details_model import BlockDetailsModel
from lthn.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:36943
# See configuration.py for a list of all supported configuration parameters.
configuration = lthn.Configuration(
host = "http://127.0.0.1:36943"
)
# Enter a context with an instance of the API client
with lthn.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lthn.BlockApi(api_client)
try:
# Get one or more blocks, with optional pagination.
api_response = api_instance.get_blocks()
print("The response of BlockApi->get_blocks:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BlockApi->get_blocks: %s\n" % e)
Parameters
This endpoint does not need any parameter.
Return type
Authorization
No authorization required
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
HTTP response details
| Status code | Description | Response headers |
|---|---|---|
| 404 | text/plain | - |
| 400 | text/plain | - |
| 200 | A list of block objects. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
get_height
HeightModel get_height()
Get the current blockchain height
Example
import lthn
from lthn.models.height_model import HeightModel
from lthn.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:36943
# See configuration.py for a list of all supported configuration parameters.
configuration = lthn.Configuration(
host = "http://127.0.0.1:36943"
)
# Enter a context with an instance of the API client
with lthn.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lthn.BlockApi(api_client)
try:
# Get the current blockchain height
api_response = api_instance.get_height()
print("The response of BlockApi->get_height:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BlockApi->get_height: %s\n" % e)
Parameters
This endpoint does not need any parameter.
Return type
Authorization
No authorization required
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
HTTP response details
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
submit_block
SubmitBlockResponseModel submit_block(submit_block_request_model)
Submit a new block to the network
Example
import lthn
from lthn.models.submit_block_request_model import SubmitBlockRequestModel
from lthn.models.submit_block_response_model import SubmitBlockResponseModel
from lthn.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:36943
# See configuration.py for a list of all supported configuration parameters.
configuration = lthn.Configuration(
host = "http://127.0.0.1:36943"
)
# Enter a context with an instance of the API client
with lthn.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lthn.BlockApi(api_client)
submit_block_request_model = lthn.SubmitBlockRequestModel() # SubmitBlockRequestModel |
try:
# Submit a new block to the network
api_response = api_instance.submit_block(submit_block_request_model)
print("The response of BlockApi->submit_block:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BlockApi->submit_block: %s\n" % e)
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| submit_block_request_model | SubmitBlockRequestModel |
Return type
Authorization
No authorization required
HTTP request headers
- Content-Type: application/json
- Accept: application/json
HTTP response details
| Status code | Description | Response headers |
|---|---|---|
| 406 | text/plain | - |
| 400 | text/plain | - |
| 200 | OK | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]