NodeCore HTTP API
See: Developer_Guide, GRPC
Overview
NodeCore v0.4.5 introduces an HTTP API to supplement the existing gRPC Admin API. All methods currently available in the gRPC API are also available in the HTTP API.
Usage
By default, the HTTP API is bound to 127.0.0.1:10600. Assuming the defaults are left as is, documentation of the API methods and request/response types can be found at http://localhost:10600/api/docs.
The API follows the JSON-RPC 2.0 Specification. All API requests are made to http://localhost:10600/api. Both request and response will use the application/json content type.
=== Making a Request ===a
In accordance with the JSON-RPC specification, there is a standard request object format:
{ "jsonrpc": "2.0", "method": "getblocks", "params": {...}, "id": 1 }
- jsonrpc: Always "2.0" value
- method: The RPC method name to invoke. Reference the internal API documentation at http://localhost:10600/api/docs#core.Admin for the list of methods available.
- params: The RPC method-specific request parameters. The internal API documentation describes the request objects for each method.
- id: A string or number determined by the client to uniquely identify the request. This same id will be used in the response.
Responses
The standard response object format:
{ "jsonrpc": "2.0", "result": {...}, "id": 1 }
- jsonrpc: Always "2.0" value
- result: The RPC method-specific response object. The internal API documentation describes the response objects for each method.
- id: The exact string or number supplied by the client in the request object.
Configuration
The IP address and port to which the HTTP API is bound can be configured by modifying the nodecore.properties file. The default values are:
http.api.bind.address = 127.0.0.1 http.api.bind.port = 10600
Security
If the rpc.security.password.enabled property in the nodecore.properties file is set to to true, requests to the HTTP API will require the additional header X-VBK-RPC-PASSWORD to be set. The value of this header corresponds to the password defined in the property rpc.security.password in nodecore.properties.