Nodeos Producer API
The producer_api_plugin
exposes a number of endpoints for the producer_plugin
to the RPC API interface managed by the http_plugin
.
For API request, it needs to perform a POST
line with required parameters. The manual presents examples of requests using curl
. Return code 201 indicates successful operation.
Producer API requests supported:
pause
The request puts a producer node in pause state and returns nothing.
Params: No params required.
Request example:
curl --request POST --data '' http://<node>/v1/producer/pause
Responses
Code: 201 OK
Value: Returns nothing.
resume
The request switches a producer node from "pause" state to "resume" state and returns nothing.
Params: No params required.
Request example:
curl --request POST --data '' http://<node>/v1/producer/resume
Responses
Code: 201 OK
Value: Returns nothing.
paused
The request retreives paused status for producer node.
Params: No params required.
Request example:
curl --request POST --data '' http://<node>/v1/producer/paused
Responses
Code: 201 OK
Value:
{
"pause_production": true // "true" if producer node is paused, "false" otherwise (that is, the node produces blocks)
}
get_runtime_options
The request retreives run time options for producer node.
Params: No params required.
Request example:
curl --request POST --data '' http://<node>/v1/producer/get_runtime_options
Responses
Code: 201 OK
Value:
{
"max_transaction_time": 800, // Time (in milliseconds) allocated to a transaction
"max_irreversible_block_age": -1, // Time (in seconds) allocated to irreversible block age
"produce_time_offset_us": 0, // Produce time offset (in microseconds)
"last_block_time_offset_us": 0, // Last block time offset (in microseconds)
"max_scheduled_transaction_time_per_block_ms": 2000 // Max scheduled transaction time per block (in milliseconds)
}
update_runtime_options
The operation updates run time options for producer node. Each of parameters specified in the operation is optional.
Params:
(integer) max_transaction_time
— Limits the maximum time (in milliseconds) that is allowed a pushed transaction's code to execute before being considered invalid. Defauts to 1000.(integer) max_irreversible_block_age
— Limits the maximum age (in seconds) of the DPOS Irreversible Block for a chain this node will produce blocks on (use negative value to indicate unlimited). Defaults to -1.(integer) produce_time_offset_us
— Offset of non last block producing time (in microseconds). Negative number results in blocks to go out sooner, and positive number results in blocks to go out later. Defaults to 0.(integer) last_block_time_offset_us
— Offset of last block producing time (in microseconds). Negative number results in blocks to go out sooner, and positive number results in blocks to go out later. Defaults to 0.(integer) max_scheduled_transaction_time_per_block_ms
— Maximum wall-clock time (in milliseconds) spent retiring scheduled transactions in any block before returning to normal transaction processing. Defaults to 1000.(integer) incoming_defer_ratio
— Ratio between incoming transations and deferred transactions when both are exhausted. Defaults to 1.0 that means 1:1.
Request examples:
curl --request POST -d '{"max_transaction_time": 1500, "last_block_time_offset_us": 5}' http://<node>/v1/producer/update_runtime_options
curl --request POST -d '{"max_transaction_time": 1500, "max_irreversible_block_age": 5, "produce_time_offset_us": 10, "last_block_time_offset_us": 10, "max_scheduled_transaction_time_per_block_ms": 1000, "incoming_defer_ratio": 1.2}' http://<node>/v1/producer/update_runtime_options
Responses
Code: 201 OK
Value: Returns Nothing.
Last updated