RPC API
.. raw:: html
<style>.tab {overflow: hidden;border: 1px solid #ccc;background-color: #f1f1f1;}.tab button {background-color: inherit;float: left;border: none;outline: none;cursor: pointer;padding: 5px 10px;}.tab button:hover {background-color: #ddd;}.tab button.active {background-color: #ccc;}.tabcontent {display: none;padding: 6px 12px;border: 1px solid #ccc;border-top: none;margin-bottom: 20px;}pre {font-size: 12px}</style> .. raw:: html
<script>function showTab(elt, tab, ref) {var i, tabcontent, tablinks;tabcontent = document.getElementsByClassName(ref);for (i = 0; i < tabcontent.length; i++) {tabcontent[i].style.display = 'none';}tablinks = elt.parentNode.children;for (i = 0; i < tablinks.length; i++) {tablinks[i].className = tablinks[i].className.replace(' active', );}document.getElementById(tab).style.display = 'block';elt.className += ' active';}document.addEventListener('DOMContentLoaded', function(){var a = document.getElementsByClassName('defaultOpen');for (i = 0; i < a.length; i++) { a[i].click() }})</script> RPC API #######
This document contains the list of RPC services provided by the Tezos node. It is generated from the OCaml source code (master branch).
Usage *****
In order to interact with a Tezos node, you may use RPC calls through the client using this command tezos-admin-client rpc call <url>
.
For instance, if you wish to request the current balance of a given block and contract, you can call the associated RPC via the command : $ tezos-admin-client rpc call /blocks/<block_id>/proto/context/contracts/<contract_id>/balance
.
A RPC may takes an input and generates an output both in JSON format. For example, the previous RPC call, that does not require an input, would display on the standard output : { "balance": "4000000000000" }
. When calling a RPC that requires an input through command-line, you will be prompted to provide the JSON input in your default configured text editor. Alternatively, you can provide the JSON input using command $ tezos-admin-client rpc call <url> with <JSON>
. Don't forget to quote the JSON according to your shell rules.
You can also obtain the list of RPCs on the command line with tezos-admin-client rpc list /
, and the description of each service using tezos-admin-client rpc format <url>
.
Of course, you can use your standard HTTP tool or library as well to perform all these tasks.
Client RPCs - Index *******************
.. raw:: html
<style>#client-rpcs-index * { margin-bottom:0px }#client-rpcs-index > *:last-child { margin-bottom:15px }#client-rpcs-index > h2 { margin-bottom:15px}</style>
/blocks <ref2_>
_
`/blocks/<block_id> <ref3_>`_ `/blocks/<block_id>/chain_id <ref4_>`_ \/blocks/<block_id>/complete `/blocks/<block_id>/complete/<prefix> <ref5_>`_ `/blocks/<block_id>/fitness <ref6_>`_ `/blocks/<block_id>/hash <ref7_>`_ `/blocks/<block_id>/level <ref8_>`_ `/blocks/<block_id>/operations <ref9_>`_ `/blocks/<block_id>/preapply <ref10_>`_ `/blocks/<block_id>/predecessor <ref11_>`_ `/blocks/<block_id>/predecessors <ref12_>`_ `/blocks/<block_id>/proto <ref13_>`_ `/blocks/<block_id>/protocol <ref14_>`_ `/blocks/<block_id>/raw_context <ref15_>`_ `/blocks/<block_id>/test_chain <ref16_>`_ `/blocks/<block_id>/timestamp <ref17_>`_
/bootstrapped <ref18_>
_
/complete
/complete/<prefix> <ref19_>
_
/errors <ref20_>
_
/forge_block_header <ref21_>
_
/inject_block <ref22_>
_
/inject_operation <ref23_>
_
/inject_protocol <ref24_>
_
/invalid_blocks <ref25_>
_
\/invalid_blocks/<Block_hash> `/invalid_blocks/<Block_hash>/unmark <ref26_>`_
/mempool
/mempool/pending_operations <ref27_>
_
/networks
/networks/point <ref28_>
_
/p2p
/p2p/connect
`/p2p/connect/<point> <ref29_>`_
/p2p/connections <ref30_>
_
`/p2p/connections/<Crypto_box.Public_key_hash> <ref31_>`_ `/p2p/connections/<Crypto_box.Public_key_hash>/kick <ref32_>`_
/p2p/log <ref33_>
_
/p2p/peers <ref34_>
_
`/p2p/peers/<Crypto_box.Public_key_hash> <ref35_>`_ `/p2p/peers/<Crypto_box.Public_key_hash>/log <ref36_>`_
/p2p/points
`/p2p/points/<point> <ref37_>`_ `/p2p/points/<point>/log <ref38_>`_
/p2p/stat <ref39_>
_
/p2p/versions <ref40_>
_
/protocols <ref41_>
_
`/protocols/<Protocol_hash> <ref42_>`_
/workers
/workers/block_validator <ref43_>
_
/workers/chain_validators <ref44_>
_
`/workers/chain_validators/<chain_id> <ref45_>`_
/workers/peer_validators
`/workers/peer_validators/<chain_id> <ref46_>`_ `/workers/peer_validators/<chain_id>/<peer_id> <ref47_>`_
/workers/prevalidators <ref48_>
_
`/workers/prevalidators/<Chain_id> <ref49_>`_
Client RPCs - Full description ******************************
.. _ref2 :
POST /blocks
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref2descr', 'ref2')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref2input', 'ref2')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref2output', 'ref2')">Output format</button> </div>
<p> Lists known heads of the blockchain sorted with decreasing fitness. Optional arguments allows to returns the list of predecessors for known heads or the list of predecessors for a given list of blocks.</p> </div>
<pre> { "include_ops"?: boolean /* Whether the resulting block informations should include the list of operations' hashes. Default false. */, "length"?: integer ∈ ]-2^30-2, 2^30+2[ /* The requested number of predecessors to returns (per requested head). */, "heads"?: [ string /* A Tezos block ID (Base58Check-encoded) */ ... ] /* An empty argument requests blocks from the current heads. A non empty list allow to request specific fragment of the chain. */, "monitor"?: boolean /* When true, the socket is "kept alive" after the first answer and new heads are streamed when discovered. */, "delay"?: integer ∈ ]-2^30-2, 2^30+2[ /* By default only the blocks that were validated by the node are considered. When this optional argument is 0, only blocks with a timestamp in the past are considered. Other values allows to adjust the current time. */, "min_date"?: /* When `min_date` is provided, heads with a timestamp before `min_date` are filtered ouf */ $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "min_heads"?: integer ∈ ]-2^30-2, 2^30+2[ /* When `min_date` is provided, returns at least `min_heads` even when their timestamp is before `min_date`. */ } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
<pre> { "blocks": [ [ { "hash": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "operations"?: [ [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ] ... ], "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "test_chain"?: { "status": "not_running" } || { "status": "forking", "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "status": "running", "chain_id": string /* Network identifier (Base58Check-encoded) */, "genesis": string /* A Tezos block ID (Base58Check-encoded) */, "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }, "level": integer ∈ ]-2^31-2, 2^31+2[, "proto": integer ∈ ]0, 255[, "predecessor": string /* A Tezos block ID (Base58Check-encoded) */, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "validation_pass": integer ∈ ]0, 255[, "operations_hash": string /* A list of list of operations (Base58Check-encoded) */, "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */, "context": string /* A hash of context (Base58Check-encoded) */, "protocol_data": /^[a-zA-Z0-9]+$/ } ... ] ... ] } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref3 :
POST /blocks/<block_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref3descr', 'ref3')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref3input', 'ref3')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref3output', 'ref3')">Output format</button> </div>
<p> All the information about a block.</p> </div>
<pre> { "operations"?: boolean }</pre> </div>
<pre> { "hash": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "operations"?: [ [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ] ... ], "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "test_chain"?: { "status": "not_running" } || { "status": "forking", "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "status": "running", "chain_id": string /* Network identifier (Base58Check-encoded) */, "genesis": string /* A Tezos block ID (Base58Check-encoded) */, "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }, "level": integer ∈ ]-2^31-2, 2^31+2[, "proto": integer ∈ ]0, 255[, "predecessor": string /* A Tezos block ID (Base58Check-encoded) */, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "validation_pass": integer ∈ ]0, 255[, "operations_hash": string /* A list of list of operations (Base58Check-encoded) */, "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */, "context": string /* A hash of context (Base58Check-encoded) */, "protocol_data": /^[a-zA-Z0-9]+$/ } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref4 :
POST /blocks/<block_id>/chain_id
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref4descr', 'ref4')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref4output', 'ref4')">Output format</button> </div>
<p> Returns the chain in which the block belongs.</p> </div>
<pre> { "chain_id": string /* Network identifier (Base58Check-encoded) */ }</pre> </div>
.. _ref5 :
POST /blocks/<block_id>/complete/<prefix>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref5descr', 'ref5')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref5output', 'ref5')">Output format</button> </div>
<p> Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block, operations, public_keys and contracts.</p> </div>
<pre> [ string ... ]</pre> </div>
.. _ref6 :
POST /blocks/<block_id>/fitness
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref6descr', 'ref6')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref6output', 'ref6')">Output format</button> </div>
<p> Returns the block's fitness.</p> </div>
<pre> { "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */ }</pre> </div>
.. _ref7 :
POST /blocks/<block_id>/hash
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref7descr', 'ref7')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref7output', 'ref7')">Output format</button> </div>
<p> Returns the block's id.</p> </div>
<pre> { "hash": string /* A Tezos block ID (Base58Check-encoded) */ }</pre> </div>
.. _ref8 :
POST /blocks/<block_id>/level
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref8descr', 'ref8')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref8output', 'ref8')">Output format</button> </div>
<p> Returns the block's level.</p> </div>
<pre> { "level": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref9 :
POST /blocks/<block_id>/operations
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref9descr', 'ref9')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref9input', 'ref9')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref9output', 'ref9')">Output format</button> </div>
<p> List the block operations.</p> </div>
<pre> { "contents"?: boolean }</pre> </div>
<pre> { "operations": [ [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "contents"?: { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } ... ] ... ] }</pre> </div>
.. _ref10 :
POST /blocks/<block_id>/preapply
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref10descr', 'ref10')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref10input', 'ref10')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref10output', 'ref10')">Output format</button> </div>
<p> Simulate the validation of a block that would contain the given operations and return the resulting fitness.</p> </div>
<pre> { "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "protocol_data": /^[a-zA-Z0-9]+$/, "operations": [ [ { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ] ... ], "sort_operations"?: boolean } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
<pre> { "shell_header": { "level": integer ∈ ]-2^31-2, 2^31+2[, "proto": integer ∈ ]0, 255[, "predecessor": string /* A Tezos block ID (Base58Check-encoded) */, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "validation_pass": integer ∈ ]0, 255[, "operations_hash": string /* A list of list of operations (Base58Check-encoded) */, "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */, "context": string /* A hash of context (Base58Check-encoded) */ }, "operations": [ { "applied": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ], "refused": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ], "branch_refused": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ], "branch_delayed": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ] } ... ] } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref11 :
POST /blocks/<block_id>/predecessor
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref11descr', 'ref11')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref11output', 'ref11')">Output format</button> </div>
<p> Returns the previous block's id.</p> </div>
<pre> { "predecessor": string /* A Tezos block ID (Base58Check-encoded) */ }</pre> </div>
.. _ref12 :
POST /blocks/<block_id>/predecessors
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref12descr', 'ref12')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref12input', 'ref12')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref12output', 'ref12')">Output format</button> </div>
<p> ....</p> </div>
<pre> { "length": integer ∈ ]0, 2^16-1[ }</pre> </div>
<pre> { "blocks": [ string /* A Tezos block ID (Base58Check-encoded) */ ... ] }</pre> </div>
.. _ref13 :
POST /blocks/<block_id>/proto
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref13descr', 'ref13')">Description</button> </div>
<p> All the RPCs which are specific to the protocol version.</p> </div>
.. _ref14 :
POST /blocks/<block_id>/protocol
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref14descr', 'ref14')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref14output', 'ref14')">Output format</button> </div>
<p> List the block protocol.</p> </div>
<pre> { "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */ }</pre> </div>
.. _ref15 :
POST /blocks/<block_id>/raw_context
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref15descr', 'ref15')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref15output', 'ref15')">Output format</button> </div>
<p> Returns the raw context.</p> </div>
<pre> { "content": $context_tree } $context_tree: /^[a-zA-Z0-9]+$/ || { *: $context_tree } || null</pre> </div>
.. _ref16 :
POST /blocks/<block_id>/test_chain
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref16descr', 'ref16')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref16output', 'ref16')">Output format</button> </div>
<p> Returns the status of the associated test chain.</p> </div>
<pre> { "status": "not_running" } || { "status": "forking", "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "status": "running", "chain_id": string /* Network identifier (Base58Check-encoded) */, "genesis": string /* A Tezos block ID (Base58Check-encoded) */, "protocol": string /* A Tezos protocol ID (Base58Check-encoded) */, "expiration": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref17 :
POST /blocks/<block_id>/timestamp
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref17descr', 'ref17')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref17output', 'ref17')">Output format</button> </div>
<p> Returns the block's timestamp.</p> </div>
<pre> { "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref18 :
POST /bootstrapped
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref18descr', 'ref18')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref18output', 'ref18')">Output format</button> </div>
<p> No description</p> </div>
<pre> { "block": string /* A Tezos block ID (Base58Check-encoded) */, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref19 :
POST /complete/<prefix>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref19descr', 'ref19')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref19output', 'ref19')">Output format</button> </div>
<p> Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block and hashes of operations.</p> </div>
<pre> [ string ... ]</pre> </div>
.. _ref20 :
POST /errors
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref20descr', 'ref20')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref20output', 'ref20')">Output format</button> </div>
<p> Schema for all the RPC errors from the shell</p> </div>
<pre> any</pre> </div>
.. _ref21 :
POST /forge_block_header
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref21descr', 'ref21')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref21input', 'ref21')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref21output', 'ref21')">Output format</button> </div>
<p> Forge a block header</p> </div>
<pre> { "level": integer ∈ ]-2^31-2, 2^31+2[, "proto": integer ∈ ]0, 255[, "predecessor": string /* A Tezos block ID (Base58Check-encoded) */, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "validation_pass": integer ∈ ]0, 255[, "operations_hash": string /* A list of list of operations (Base58Check-encoded) */, "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */, "context": string /* A hash of context (Base58Check-encoded) */, "protocol_data": /^[a-zA-Z0-9]+$/ } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
<pre> { "block": /^[a-zA-Z0-9]+$/ }</pre> </div>
.. _ref22 :
POST /inject_block
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref22descr', 'ref22')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref22input', 'ref22')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref22output', 'ref22')">Output format</button> </div>
<p> Inject a block in the node and broadcast it. The `operations` embedded in `blockHeader` might be pre-validated using a contextual RPCs from the latest block (e.g. '/blocks/<block_id>/context/preapply'). Returns the ID of the block. By default, the RPC will wait for the block to be validated before answering.</p> </div>
<pre> { "data": /^[a-zA-Z0-9]+$/, "blocking"?: boolean /* Should the RPC wait for the block to be validated before answering. (default: true) */, "force"?: boolean /* Should we inject the block when its fitness is below the current head. (default: false) */, "chain_id"?: string /* Network identifier (Base58Check-encoded) */, "operations": [ [ { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ] ... ] /* ... */ }</pre> </div>
<pre> { "block_hash": string /* A Tezos block ID (Base58Check-encoded) */ }</pre> </div>
.. _ref23 :
POST /inject_operation
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref23descr', 'ref23')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref23input', 'ref23')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref23output', 'ref23')">Output format</button> </div>
<p> Inject an operation in node and broadcast it. Returns the ID of the operation. The `signedOperationContents` should be constructed using a contextual RPCs from the latest block and signed by the client. By default, the RPC will wait for the operation to be (pre-)validated before answering. See RPCs under /blocks/prevalidation for more details on the prevalidation context.</p> </div>
<pre> { "signedOperationContents": /^[a-zA-Z0-9]+$/ /* Tezos signed operation (hex encoded) */, "blocking"?: boolean /* Should the RPC wait for the operation to be (pre-)validated before answering. (default: true) */, "chain_id"?: string /* Network identifier (Base58Check-encoded) */ }</pre> </div>
<pre> { /* Hash of the injected operation */ "injectedOperation": string /* A Tezos operation ID (Base58Check-encoded) */ }</pre> </div>
.. _ref24 :
POST /inject_protocol
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref24descr', 'ref24')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref24input', 'ref24')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref24output', 'ref24')">Output format</button> </div>
<p> Inject a protocol in node. Returns the ID of the protocol.</p> </div>
<pre> { "protocol": { /* Tezos protocol */ "expected_env_version": integer ∈ ]-2^15, 2^15-1[, "components": [ { "name": string, "interface"?: /^[a-zA-Z0-9]+$/, "implementation": /^[a-zA-Z0-9]+$/ } ... ] }, "blocking"?: boolean /* Should the RPC wait for the protocol to be validated before answering. (default: true) */, "force"?: boolean /* Should we inject protocol that is invalid. (default: false) */ }</pre> </div>
<pre> { /* Hash of the injected protocol */ "injectedProtocol": string /* A Tezos protocol ID (Base58Check-encoded) */ }</pre> </div>
.. _ref25 :
POST /invalid_blocks
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref25descr', 'ref25')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref25output', 'ref25')">Output format</button> </div>
<p> Lists blocks that have been declared invalid along with the errorsthat led to them being declared invalid</p> </div>
<pre> [ { "block": string /* A Tezos block ID (Base58Check-encoded) */, "level": integer ∈ ]-2^31-2, 2^31+2[, "errors": any /* The full list of error is available with the global RPC `POST errors` */ } ... ]</pre> </div>
.. _ref26 :
POST /invalid_blocks/<Block_hash>/unmark
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref26descr', 'ref26')">Description</button> </div>
<p> Unmark an invalid block</p> </div>
.. _ref27 :
POST /mempool/pending_operations
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref27descr', 'ref27')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref27output', 'ref27')">Output format</button> </div>
<p> List the not-yet-prevalidated operations.</p> </div>
<pre> { "applied": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ], "refused": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ], "branch_refused": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ], "branch_delayed": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/, "error": any /* The full list of error is available with the global RPC `POST errors` */ } ... ], "unprocessed": [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */, "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } ... ] }</pre> </div>
.. _ref28 :
POST /networks/point
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref28descr', 'ref28')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref28input', 'ref28')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref28output', 'ref28')">Output format</button> </div>
<p> List the pool of known `IP:port` used for establishing P2P connections .</p> </div>
<pre> { "filter"?: [ { "event_kind": "requested" } || { "event_kind": "accepted", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "running", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "disconnected" } ... ] }</pre> </div>
<pre> [ [ string, { "trusted": boolean, "greylisted_until"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "state": { "event_kind": "requested" } || { "event_kind": "accepted", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "running", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "disconnected" }, "p2p_peer_id"?: string /* A Cryptobox public key ID (Base58Check-encoded) */, "last_failed_connection"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "last_rejected_connection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_established_connection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_disconnection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_seen"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_miss"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } ] ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref29 :
POST /p2p/connect/<point>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref29descr', 'ref29')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref29input', 'ref29')">Input format</button> </div>
<p> Connect to a peer</p> </div>
<pre> { "timeout"?: number }</pre> </div>
.. _ref30 :
POST /p2p/connections
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref30descr', 'ref30')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref30output', 'ref30')">Output format</button> </div>
<p> List the running P2P connection.</p> </div>
<pre> [ { "incoming": boolean, "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */, "id_point": { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "remote_socket_port": integer ∈ ]0, 2^16-1[, "versions": [ { "name": string, "major": integer ∈ ]0, 2^16-1[, "minor": integer ∈ ]0, 2^16-1[ } ... ] } ... ]</pre> </div>
.. _ref31 :
POST /p2p/connections/<Crypto_box.Public_key_hash>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref31descr', 'ref31')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref31output', 'ref31')">Output format</button> </div>
<p> Details about the current P2P connection to the given peer.</p> </div>
<pre> { "incoming": boolean, "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */, "id_point": { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "remote_socket_port": integer ∈ ]0, 2^16-1[, "versions": [ { "name": string, "major": integer ∈ ]0, 2^16-1[, "minor": integer ∈ ]0, 2^16-1[ } ... ] }</pre> </div>
.. _ref32 :
POST /p2p/connections/<Crypto_box.Public_key_hash>/kick
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref32descr', 'ref32')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref32input', 'ref32')">Input format</button> </div>
<p> Forced close of the current P2P connection to the given peer.</p> </div>
<pre> { "wait": boolean }</pre> </div>
.. _ref33 :
POST /p2p/log
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref33descr', 'ref33')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref33output', 'ref33')">Output format</button> </div>
<p> Stream of all network events</p> </div>
<pre> { "event": "too_few_connections" } || { "event": "too_many_connections" } || { "event": "new_point", "point": string } || { "event": "new_peer", "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "incoming_connection", "point": string } || { "event": "outgoing_connection", "point": string } || { "event": "authentication_failed", "point": string } || { "event": "accepting_request", "point": string, "id_point": { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "rejecting_request", "point": string, "id_point": { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "request_rejected", "point": string, "identity"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, string /* A Cryptobox public key ID (Base58Check-encoded) */ ] } || { "event": "connection_established", "id_point": { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "disconnection", "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "external_disconnection", "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "gc_points" } || { "event": "gc_peer_ids" } || { "event": "swap_request_received", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_ack_received", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_request_sent", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_ack_sent", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_request_ignored", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_success", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event": "swap_failure", "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }</pre> </div>
.. _ref34 :
POST /p2p/peers
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref34descr', 'ref34')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref34input', 'ref34')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref34output', 'ref34')">Output format</button> </div>
<p> List the peers the node ever met.</p> </div>
<pre> { "filter"?: [ "running" | "accepted" | "disconnected" ... ] }</pre> </div>
<pre> [ [ string /* A Cryptobox public key ID (Base58Check-encoded) */, { "score": number, "trusted": boolean, "state": "running" | "accepted" | "disconnected", "reachable_at"?: { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "stat": { "total_sent": integer ∈ ]-2^31-2, 2^31+2[ || string, "total_recv": integer ∈ ]-2^31-2, 2^31+2[ || string, "current_inflow": integer ∈ ]-2^30-2, 2^30+2[, "current_outflow": integer ∈ ]-2^30-2, 2^30+2[ }, "last_failed_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_rejected_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_established_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_disconnection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_seen"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_miss"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ] } ] ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref35 :
POST /p2p/peers/<Crypto_box.Public_key_hash>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref35descr', 'ref35')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref35output', 'ref35')">Output format</button> </div>
<p> Details about a given peer.</p> </div>
<pre> { "score": number, "trusted": boolean, "state": "running" | "accepted" | "disconnected", "reachable_at"?: { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, "stat": { "total_sent": integer ∈ ]-2^31-2, 2^31+2[ || string, "total_recv": integer ∈ ]-2^31-2, 2^31+2[ || string, "current_inflow": integer ∈ ]-2^30-2, 2^30+2[, "current_outflow": integer ∈ ]-2^30-2, 2^30+2[ }, "last_failed_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_rejected_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_established_connection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_disconnection"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_seen"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_miss"?: [ { "addr": string, "port"?: integer ∈ ]0, 2^16-1[ }, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ] } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref36 :
POST /p2p/peers/<Crypto_box.Public_key_hash>/log
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref36descr', 'ref36')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref36input', 'ref36')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref36output', 'ref36')">Output format</button> </div>
<p> Monitor network events related to a given peer.</p> </div>
<pre> { "monitor"?: boolean }</pre> </div>
<pre> [ { "kind": "rejecting_request" | "incoming_request" | "disconnection" | "external_disconnection" | "connection_established" | "request_rejected", "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "addr": string, "port"?: integer ∈ ]-2^15, 2^15-1[ } ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref37 :
POST /p2p/points/<point>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref37descr', 'ref37')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref37output', 'ref37')">Output format</button> </div>
<p> Details about a given `IP:addr`.</p> </div>
<pre> { "trusted": boolean, "greylisted_until"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "state": { "event_kind": "requested" } || { "event_kind": "accepted", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "running", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "disconnected" }, "p2p_peer_id"?: string /* A Cryptobox public key ID (Base58Check-encoded) */, "last_failed_connection"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "last_rejected_connection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_established_connection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_disconnection"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_seen"?: [ string /* A Cryptobox public key ID (Base58Check-encoded) */, $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ], "last_miss"?: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref38 :
POST /p2p/points/<point>/log
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref38descr', 'ref38')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref38input', 'ref38')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref38output', 'ref38')">Output format</button> </div>
<p> Monitor network events related to an `IP:addr`.</p> </div>
<pre> { "monitor"?: boolean }</pre> </div>
<pre> [ { "kind": { "event_kind": "outgoing_request" } || { "event_kind": "accepting_request", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "rejecting_request", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "request_rejected", "p2p_peer_id"?: string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "rejecting_request", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "rejecting_request", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ } || { "event_kind": "rejecting_request", "p2p_peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */ }, "timestamp": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref39 :
POST /p2p/stat
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref39descr', 'ref39')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref39output', 'ref39')">Output format</button> </div>
<p> Global network bandwidth statistics in B/s.</p> </div>
<pre> { "total_sent": integer ∈ ]-2^31-2, 2^31+2[ || string, "total_recv": integer ∈ ]-2^31-2, 2^31+2[ || string, "current_inflow": integer ∈ ]-2^30-2, 2^30+2[, "current_outflow": integer ∈ ]-2^30-2, 2^30+2[ }</pre> </div>
.. _ref40 :
POST /p2p/versions
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref40descr', 'ref40')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref40output', 'ref40')">Output format</button> </div>
<p> Supported network layer versions.</p> </div>
<pre> [ { "name": string, "major": integer ∈ ]0, 2^16-1[, "minor": integer ∈ ]0, 2^16-1[ } ... ]</pre> </div>
.. _ref41 :
POST /protocols
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref41descr', 'ref41')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref41input', 'ref41')">Input format</button> <button class="tablinks" onclick="showTab(this, 'ref41output', 'ref41')">Output format</button> </div>
<p> No description</p> </div>
<pre> { "contents"?: boolean, "monitor"?: boolean }</pre> </div>
<pre> { "protocols": [ { "hash": string /* A Tezos protocol ID (Base58Check-encoded) */, "contents"?: { "expected_env_version": integer ∈ ]-2^15, 2^15-1[, "components": [ { "name": string, "interface"?: /^[a-zA-Z0-9]+$/, "implementation": /^[a-zA-Z0-9]+$/ } ... ] } } ... ] }</pre> </div>
.. _ref42 :
POST /protocols/<Protocol_hash>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref42descr', 'ref42')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref42output', 'ref42')">Output format</button> </div>
<p> No description</p> </div>
<pre> { "data": { /* Tezos protocol */ "expected_env_version": integer ∈ ]-2^15, 2^15-1[, "components": [ { "name": string, "interface"?: /^[a-zA-Z0-9]+$/, "implementation": /^[a-zA-Z0-9]+$/ } ... ] } }</pre> </div>
.. _ref43 :
POST /workers/block_validator
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref43descr', 'ref43')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref43output', 'ref43')">Output format</button> </div>
<p> Introspect the state of the block_validator worker.</p> </div>
<pre> { "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ }, "pending_requests": [ { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "block": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "peer"?: string /* A Cryptobox public key ID (Base58Check-encoded) */ } } ... ], "backlog": [ { "level": string, "events": [ { "message": string } || { "successful_validation": { "block": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "peer"?: string /* A Cryptobox public key ID (Base58Check-encoded) */ }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } } || { "failed_validation": { "block": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "peer"?: string /* A Cryptobox public key ID (Base58Check-encoded) */ }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }, "errors"?: any /* The full list of error is available with the global RPC `POST errors` */ } ... ] } ... ], "current_request"?: { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "block": string /* A Tezos block ID (Base58Check-encoded) */, "chain_id": string /* Network identifier (Base58Check-encoded) */, "peer"?: string /* A Cryptobox public key ID (Base58Check-encoded) */ } } } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref44 :
POST /workers/chain_validators
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref44descr', 'ref44')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref44output', 'ref44')">Output format</button> </div>
<p> Lists the chain validator workers and their status.</p> </div>
<pre> [ { "chain_id": string /* Network identifier (Base58Check-encoded) */, "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ } } ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref45 :
POST /workers/chain_validators/<chain_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref45descr', 'ref45')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref45output', 'ref45')">Output format</button> </div>
<p> Introspect the state of a chain validator worker.</p> </div>
<pre> { "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ }, "pending_requests": [ { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": string /* A Tezos block ID (Base58Check-encoded) */ } ... ], "backlog": [ { "level": string, "events": [ { "request": string /* A Tezos block ID (Base58Check-encoded) */, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }, "outcome": "branch" | "ignored" | "increment", "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */ } || any /* The full list of error is available with the global RPC `POST errors` */ ... ] } ... ], "current_request"?: { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": string /* A Tezos block ID (Base58Check-encoded) */ } } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref46 :
POST /workers/peer_validators/<chain_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref46descr', 'ref46')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref46output', 'ref46')">Output format</button> </div>
<p> Lists the peer validator workers and their status.</p> </div>
<pre> [ { "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */, "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ } } ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref47 :
POST /workers/peer_validators/<chain_id>/<peer_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref47descr', 'ref47')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref47output', 'ref47')">Output format</button> </div>
<p> Introspect the state of a peer validator worker.</p> </div>
<pre> { "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ }, "pending_requests": [ { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "request": "new_head", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "new_branch", "block": string /* A Tezos block ID (Base58Check-encoded) */, "locator_length": integer ∈ ]0, 2^16-1[ } } ... ], "backlog": [ { "level": string, "events": [ { "message": string } || { "request": { "request": "new_head", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "new_branch", "block": string /* A Tezos block ID (Base58Check-encoded) */, "locator_length": integer ∈ ]0, 2^16-1[ }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } } || { "error": any /* The full list of error is available with the global RPC `POST errors` */, "failed_request": { "request": "new_head", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "new_branch", "block": string /* A Tezos block ID (Base58Check-encoded) */, "locator_length": integer ∈ ]0, 2^16-1[ }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } } ... ] } ... ], "current_request"?: { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "request": "new_head", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "new_branch", "block": string /* A Tezos block ID (Base58Check-encoded) */, "locator_length": integer ∈ ]0, 2^16-1[ } } } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref48 :
POST /workers/prevalidators
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref48descr', 'ref48')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref48output', 'ref48')">Output format</button> </div>
<p> Lists the Prevalidator workers and their status.</p> </div>
<pre> [ { "chain_id": string /* Network identifier (Base58Check-encoded) */, "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ } } ... ] $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
.. _ref49 :
POST /workers/prevalidators/<Chain_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref49descr', 'ref49')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref49output', 'ref49')">Output format</button> </div>
<p> Introspect the state of a prevalidator worker.</p> </div>
<pre> { "status": { "phase": "launching", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "running", "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closing", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "closed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } || { "phase": "crashed", "birth": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "since": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "errors": any /* The full list of error is available with the global RPC `POST errors` */ }, "pending_requests": [ { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "request": "flush", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "notify", "peer": string /* A Cryptobox public key ID (Base58Check-encoded) */, "mempool": { "known_valid": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ], "pending": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ] } } || { "request": "inject", "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "arrived", "operation_hash": string /* A Tezos operation ID (Base58Check-encoded) */, "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "advertise" } } ... ], "backlog": [ { "level": string, "events": [ { "message": string } || { "request": { "request": "flush", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "notify", "peer": string /* A Cryptobox public key ID (Base58Check-encoded) */, "mempool": { "known_valid": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ], "pending": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ] } } || { "request": "inject", "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "arrived", "operation_hash": string /* A Tezos operation ID (Base58Check-encoded) */, "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "advertise" }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } } || { "error": any /* The full list of error is available with the global RPC `POST errors` */, "failed_request": { "request": "flush", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "notify", "peer": string /* A Cryptobox public key ID (Base58Check-encoded) */, "mempool": { "known_valid": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ], "pending": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ] } } || { "request": "inject", "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "arrived", "operation_hash": string /* A Tezos operation ID (Base58Check-encoded) */, "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "advertise" }, "status": { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "completed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string } } ... ] } ... ], "current_request"?: { "pushed": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "treated": $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string, "request": { "request": "flush", "block": string /* A Tezos block ID (Base58Check-encoded) */ } || { "request": "notify", "peer": string /* A Cryptobox public key ID (Base58Check-encoded) */, "mempool": { "known_valid": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ], "pending": [ string /* A Tezos operation ID (Base58Check-encoded) */ ... ] } } || { "request": "inject", "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "arrived", "operation_hash": string /* A Tezos operation ID (Base58Check-encoded) */, "operation": { "branch": string /* A Tezos block ID (Base58Check-encoded) */, "data": /^[a-zA-Z0-9]+$/ } } || { "request": "advertise" } } } $timestamp: /* RFC 3339 formatted timestamp A date in human readble form as specified in RFC 3339. */ string</pre> </div>
Protocol Alpha RPCs - Index ***************************
.. raw:: html
<style>#protocol-alpha-rpcs-index * { margin-bottom:0px }#protocol-alpha-rpcs-index > *:last-child { margin-bottom:15px }#protocol-alpha-rpcs-index > h2 { margin-bottom:15px}</style> /blocks/<block_id>/proto
/blocks/<block_id>/proto/constants <ref50_>
_
`/blocks/<block_id>/proto/constants/ block_reward <ref51_>`_ `/blocks/<block_id>/proto/constants/ endorsement_reward <ref52_>`_ `/blocks/<block_id>/proto/constants/block_security_deposit <ref53_>`_ `/blocks/<block_id>/proto/constants/blocks_per_commitment <ref54_>`_ `/blocks/<block_id>/proto/constants/blocks_per_cycle <ref55_>`_ `/blocks/<block_id>/proto/constants/blocks_per_roll_snapshot <ref56_>`_ `/blocks/<block_id>/proto/constants/blocks_per_voting_period <ref57_>`_ `/blocks/<block_id>/proto/constants/endorsement_security_deposit <ref58_>`_ `/blocks/<block_id>/proto/constants/endorsers_per_block <ref59_>`_ `/blocks/<block_id>/proto/constants/errors <ref60_>`_ `/blocks/<block_id>/proto/constants/first_free_baking_slot <ref61_>`_ `/blocks/<block_id>/proto/constants/max_gas <ref62_>`_ `/blocks/<block_id>/proto/constants/origination_burn <ref63_>`_ `/blocks/<block_id>/proto/constants/preserved_cycles <ref64_>`_ `/blocks/<block_id>/proto/constants/proof_of_work_threshold <ref65_>`_ `/blocks/<block_id>/proto/constants/seed_nonce_revelation_tip <ref66_>`_ `/blocks/<block_id>/proto/constants/time_between_slots <ref67_>`_
/blocks/<block_id>/proto/context
`/blocks/<block_id>/proto/context/contracts <ref68_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id> <ref69_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/balance <ref70_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/counter <ref71_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/delegatable <ref72_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/delegate <ref73_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/manager <ref74_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/script <ref75_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/spendable <ref76_>`_ `/blocks/<block_id>/proto/context/contracts/<contract_id>/storage <ref77_>`_ `/blocks/<block_id>/proto/context/level <ref78_>`_ `/blocks/<block_id>/proto/context/next_level <ref79_>`_ `/blocks/<block_id>/proto/context/nonce <ref80_>`_ `/blocks/<block_id>/proto/context/nonce/<block_level> <ref81_>`_ `/blocks/<block_id>/proto/context/voting_period_kind <ref82_>`_
/blocks/<block_id>/proto/delegate
\/blocks/<block_id>/proto/delegate/<Signature.Public_key_hash> `/blocks/<block_id>/proto/delegate/<Signature.Public_key_hash>/frozen_balances <ref83_>`_
/blocks/<block_id>/proto/header <ref84_>
_
`/blocks/<block_id>/proto/header/priority <ref85_>`_ `/blocks/<block_id>/proto/header/seed_nonce_hash <ref86_>`_
/blocks/<block_id>/proto/helpers
`/blocks/<block_id>/proto/helpers/apply_operation <ref87_>`_ \/blocks/<block_id>/proto/helpers/forge `/blocks/<block_id>/proto/helpers/forge/operations <ref88_>`_ `/blocks/<block_id>/proto/helpers/forge/protocol_data <ref89_>`_ `/blocks/<block_id>/proto/helpers/hash_data <ref90_>`_ \/blocks/<block_id>/proto/helpers/level `/blocks/<block_id>/proto/helpers/level/<block_level> <ref91_>`_ \/blocks/<block_id>/proto/helpers/levels `/blocks/<block_id>/proto/helpers/levels/<block_cycle> <ref92_>`_ `/blocks/<block_id>/proto/helpers/minimal_timestamp <ref93_>`_ \/blocks/<block_id>/proto/helpers/parse `/blocks/<block_id>/proto/helpers/parse/block <ref94_>`_ `/blocks/<block_id>/proto/helpers/parse/operations <ref95_>`_ \/blocks/<block_id>/proto/helpers/rights `/blocks/<block_id>/proto/helpers/rights/baking <ref96_>`_ \/blocks/<block_id>/proto/helpers/rights/baking/delegate `/blocks/<block_id>/proto/helpers/rights/baking/delegate/<Signature.Public_key_hash> <ref97_>`_ \/blocks/<block_id>/proto/helpers/rights/baking/level `/blocks/<block_id>/proto/helpers/rights/baking/level/<block_level> <ref98_>`_ `/blocks/<block_id>/proto/helpers/rights/endorsement <ref99_>`_ \/blocks/<block_id>/proto/helpers/rights/endorsement/delegate `/blocks/<block_id>/proto/helpers/rights/endorsement/delegate/<Signature.Public_key_hash> <ref100_>`_ \/blocks/<block_id>/proto/helpers/rights/endorsement/level `/blocks/<block_id>/proto/helpers/rights/endorsement/level/<block_level> <ref101_>`_ `/blocks/<block_id>/proto/helpers/run_code <ref102_>`_ `/blocks/<block_id>/proto/helpers/trace_code <ref103_>`_ `/blocks/<block_id>/proto/helpers/typecheck_code <ref104_>`_ `/blocks/<block_id>/proto/helpers/typecheck_data <ref105_>`_
/blocks/<block_id>/proto/operations <ref106_>
_
Protocol Alpha RPCs - Full description **************************************
.. _ref50 :
POST /blocks/<block_id>/proto/constants
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref50descr', 'ref50')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref50output', 'ref50')">Output format</button> </div>
<p> All constants</p> </div>
<pre> { "proof_of_work_nonce_size": integer ∈ ]0, 255[, "nonce_length": integer ∈ ]0, 255[, "max_revelations_per_block": integer ∈ ]0, 255[, "preserved_cycles": integer ∈ ]0, 255[, "blocks_per_cycle": integer ∈ ]-2^31-2, 2^31+2[, "blocks_per_commitment": integer ∈ ]-2^31-2, 2^31+2[, "blocks_per_roll_snapshot": integer ∈ ]-2^31-2, 2^31+2[, "blocks_per_voting_period": integer ∈ ]-2^31-2, 2^31+2[, "time_between_blocks": [ integer ∈ ]-2^31-2, 2^31+2[ || string ... ], "first_free_baking_slot": integer ∈ ]0, 2^16-1[, "endorsers_per_block": integer ∈ ]0, 2^16-1[, "instructions_per_transaction": integer ∈ ]-2^30-2, 2^30+2[, "proof_of_work_threshold": integer ∈ ]-2^31-2, 2^31+2[ || string, "dictator_pubkey": string /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */, "max_operation_data_length": integer ∈ ]-2^30-2, 2^30+2[, "tokens_per_roll": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "michelson_maximum_type_size": integer ∈ ]0, 2^16-1[, "seed_nonce_revelation_tip": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "origination_burn": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "block_security_deposit": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "endorsement_security_deposit": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "block_reward": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string, "endorsement_reward": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref51 :
POST /blocks/<block_id>/proto/constants/ block_reward
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref51descr', 'ref51')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref51output', 'ref51')">Output format</button> </div>
<p> block_reward</p> </div>
<pre> { " block_reward": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref52 :
POST /blocks/<block_id>/proto/constants/ endorsement_reward
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref52descr', 'ref52')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref52output', 'ref52')">Output format</button> </div>
<p> endorsement_reward</p> </div>
<pre> { " endorsement_reward": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref53 :
POST /blocks/<block_id>/proto/constants/block_security_deposit
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref53descr', 'ref53')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref53output', 'ref53')">Output format</button> </div>
<p> block_security_deposit</p> </div>
<pre> { "block_security_deposit": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref54 :
POST /blocks/<block_id>/proto/constants/blocks_per_commitment
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref54descr', 'ref54')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref54output', 'ref54')">Output format</button> </div>
<p> How many blocks between random seed's nonce commitment</p> </div>
<pre> { "blocks_per_commitment": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref55 :
POST /blocks/<block_id>/proto/constants/blocks_per_cycle
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref55descr', 'ref55')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref55output', 'ref55')">Output format</button> </div>
<p> Cycle length</p> </div>
<pre> { "blocks_per_cycle": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref56 :
POST /blocks/<block_id>/proto/constants/blocks_per_roll_snapshot
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref56descr', 'ref56')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref56output', 'ref56')">Output format</button> </div>
<p> How many blocks between roll snapshots</p> </div>
<pre> { "blocks_per_roll_snapshot": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref57 :
POST /blocks/<block_id>/proto/constants/blocks_per_voting_period
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref57descr', 'ref57')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref57output', 'ref57')">Output format</button> </div>
<p> Length of the voting period</p> </div>
<pre> { "blocks_per_voting_period": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref58 :
POST /blocks/<block_id>/proto/constants/endorsement_security_deposit
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref58descr', 'ref58')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref58output', 'ref58')">Output format</button> </div>
<p> endorsement_security_deposit</p> </div>
<pre> { "endorsement_security_deposit": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref59 :
POST /blocks/<block_id>/proto/constants/endorsers_per_block
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref59descr', 'ref59')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref59output', 'ref59')">Output format</button> </div>
<p> Max signing slot</p> </div>
<pre> { "endorsers_per_block": integer ∈ ]0, 2^16-1[ }</pre> </div>
.. _ref60 :
POST /blocks/<block_id>/proto/constants/errors
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref60descr', 'ref60')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref60output', 'ref60')">Output format</button> </div>
<p> Schema for all the RPC errors from this protocol version</p> </div>
<pre> any</pre> </div>
.. _ref61 :
POST /blocks/<block_id>/proto/constants/first_free_baking_slot
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref61descr', 'ref61')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref61output', 'ref61')">Output format</button> </div>
<p> First free baking slot</p> </div>
<pre> { "first_free_baking_slot": integer ∈ ]0, 2^16-1[ }</pre> </div>
.. _ref62 :
POST /blocks/<block_id>/proto/constants/max_gas
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref62descr', 'ref62')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref62output', 'ref62')">Output format</button> </div>
<p> Instructions per transaction</p> </div>
<pre> { "instructions_per_transaction": integer ∈ ]-2^30-2, 2^30+2[ }</pre> </div>
.. _ref63 :
POST /blocks/<block_id>/proto/constants/origination_burn
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref63descr', 'ref63')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref63output', 'ref63')">Output format</button> </div>
<p> origination_burn</p> </div>
<pre> { "origination_burn": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref64 :
POST /blocks/<block_id>/proto/constants/preserved_cycles
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref64descr', 'ref64')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref64output', 'ref64')">Output format</button> </div>
<p> How many cycle before the 'no-automatic-fork point'</p> </div>
<pre> { "preserved_cycles": integer ∈ ]-2^30-2, 2^30+2[ }</pre> </div>
.. _ref65 :
POST /blocks/<block_id>/proto/constants/proof_of_work_threshold
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref65descr', 'ref65')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref65output', 'ref65')">Output format</button> </div>
<p> Stamp threshold</p> </div>
<pre> { "proof_of_work_threshold": integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref66 :
POST /blocks/<block_id>/proto/constants/seed_nonce_revelation_tip
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref66descr', 'ref66')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref66output', 'ref66')">Output format</button> </div>
<p> seed_nonce_revelation_tip</p> </div>
<pre> { "seed_nonce_revelation_tip": /* Amount in mutez */ integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref67 :
POST /blocks/<block_id>/proto/constants/time_between_slots
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref67descr', 'ref67')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref67output', 'ref67')">Output format</button> </div>
<p> Slot durations</p> </div>
<pre> { "time_between_slots": [ integer ∈ ]-2^31-2, 2^31+2[ || string ... ] }</pre> </div>
.. _ref68 :
POST /blocks/<block_id>/proto/context/contracts
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref68descr', 'ref68')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref68output', 'ref68')">Output format</button> </div>
<p> All existing contracts (including non-empty default contracts).</p> </div>
<pre> [ string /* A contract handle A contract notation as given to an RPC or inside scripts. Can be a base58 public key hash, representing the implicit contract of this identity, or a base58 originated contract hash. */ ... ]</pre> </div>
.. _ref69 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref69descr', 'ref69')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref69output', 'ref69')">Output format</button> </div>
<p> Access the complete status of a contract.</p> </div>
<pre> { "manager": string /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */, "balance": /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string, "spendable": boolean, "delegate": { "setable": boolean, "value"?: string /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }, "script"?: { "code": $micheline.michelson_v1.expression, "storage": $micheline.michelson_v1.expression }, "storage"?: $micheline.michelson_v1.expression, "counter": integer ∈ ]-2^31-2, 2^31+2[ } $micheline.michelson_v1.expression: /* Micheline expression (michelson_v1 variant) */ { "int": string } || { "string": string } || [ $micheline.michelson_v1.expression ... ] || { "prim": "BALANCE" | "LSL" | "LOOP_LEFT" | "CREATE_ACCOUNT" | "LOOP" | "LT" | "False" | "DUP" | "NOW" | "ABS" | "ADD" | "contract" | "big_map" | "MUL" | "ITER" | "EDIV" | "Unit" | "SOME" | "Pair" | "string" | "INT" | "MAP" | "XOR" | "return" | "bool" | "CONCAT" | "UPDATE" | "SOURCE" | "code" | "AMOUNT" | "CONS" | "CHECK_SIGNATURE" | "set" | "FAIL" | "UNIT" | "NEG" | "SIZE" | "key_hash" | "CREATE_CONTRACT" | "timestamp" | "True" | "Right" | "H" | "OR" | "LSR" | "CAR" | "EMPTY_MAP" | "AND" | "nat" | "HASH_KEY" | "RIGHT" | "MEM" | "NONE" | "NIL" | "Left" | "DEFAULT_ACCOUNT" | "GET" | "NOT" | "list" | "NEQ" | "key" | "EQ" | "SWAP" | "TRANSFER_TOKENS" | "LEFT" | "SELF" | "COMPARE" | "DIP" | "MANAGER" | "PUSH" | "LE" | "SUB" | "IF_NONE" | "Elt" | "option" | "tez" | "STEPS_TO_QUOTA" | "unit" | "EMPTY_SET" | "GE" | "PAIR" | "pair" | "IF" | "signature" | "or" | "Some" | "IF_CONS" | "parameter" | "LAMBDA" | "GT" | "REDUCE" | "int" | "None" | "map" | "EXEC" | "DROP" | "IF_LEFT" | "lambda" | "storage" | "CDR", "args": [ $micheline.michelson_v1.expression ... ], "annot"?: string }</pre> </div>
.. _ref70 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/balance
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref70descr', 'ref70')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref70output', 'ref70')">Output format</button> </div>
<p> Access the balance of a contract.</p> </div>
<pre> { "balance": /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string }</pre> </div>
.. _ref71 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/counter
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref71descr', 'ref71')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref71output', 'ref71')">Output format</button> </div>
<p> Access the counter of a contract, if any.</p> </div>
<pre> { "counter": integer ∈ ]-2^31-2, 2^31+2[ }</pre> </div>
.. _ref72 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/delegatable
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref72descr', 'ref72')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref72output', 'ref72')">Output format</button> </div>
<p> Tells if the contract delegate can be changed.</p> </div>
<pre> { "delegatable": boolean }</pre> </div>
.. _ref73 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/delegate
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref73descr', 'ref73')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref73output', 'ref73')">Output format</button> </div>
<p> Access the delegate of a contract, if any.</p> </div>
<pre> { "delegate": string /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }</pre> </div>
.. _ref74 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/manager
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref74descr', 'ref74')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref74output', 'ref74')">Output format</button> </div>
<p> Access the manager of a contract.</p> </div>
<pre> { "manager": string /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }</pre> </div>
.. _ref75 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/script
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref75descr', 'ref75')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref75output', 'ref75')">Output format</button> </div>
<p> Access the code and data of the contract.</p> </div>
<pre> { "code": $micheline.michelson_v1.expression, "storage": $micheline.michelson_v1.expression } $micheline.michelson_v1.expression: /* Micheline expression (michelson_v1 variant) */ { "int": string } || { "string": string } || [ $micheline.michelson_v1.expression ... ] || { "prim": "BALANCE" | "LSL" | "LOOP_LEFT" | "CREATE_ACCOUNT" | "LOOP" | "LT" | "False" | "DUP" | "NOW" | "ABS" | "ADD" | "contract" | "big_map" | "MUL" | "ITER" | "EDIV" | "Unit" | "SOME" | "Pair" | "string" | "INT" | "MAP" | "XOR" | "return" | "bool" | "CONCAT" | "UPDATE" | "SOURCE" | "code" | "AMOUNT" | "CONS" | "CHECK_SIGNATURE" | "set" | "FAIL" | "UNIT" | "NEG" | "SIZE" | "key_hash" | "CREATE_CONTRACT" | "timestamp" | "True" | "Right" | "H" | "OR" | "LSR" | "CAR" | "EMPTY_MAP" | "AND" | "nat" | "HASH_KEY" | "RIGHT" | "MEM" | "NONE" | "NIL" | "Left" | "DEFAULT_ACCOUNT" | "GET" | "NOT" | "list" | "NEQ" | "key" | "EQ" | "SWAP" | "TRANSFER_TOKENS" | "LEFT" | "SELF" | "COMPARE" | "DIP" | "MANAGER" | "PUSH" | "LE" | "SUB" | "IF_NONE" | "Elt" | "option" | "tez" | "STEPS_TO_QUOTA" | "unit" | "EMPTY_SET" | "GE" | "PAIR" | "pair" | "IF" | "signature" | "or" | "Some" | "IF_CONS" | "parameter" | "LAMBDA" | "GT" | "REDUCE" | "int" | "None" | "map" | "EXEC" | "DROP" | "IF_LEFT" | "lambda" | "storage" | "CDR", "args": [ $micheline.michelson_v1.expression ... ], "annot"?: string }</pre> </div>
.. _ref76 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/spendable
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref76descr', 'ref76')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref76output', 'ref76')">Output format</button> </div>
<p> Tells if the contract tokens can be spent by the manager.</p> </div>
<pre> { "spendable": boolean }</pre> </div>
.. _ref77 :
POST /blocks/<block_id>/proto/context/contracts/<contract_id>/storage
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref77descr', 'ref77')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref77output', 'ref77')">Output format</button> </div>
<p> Access the data of the contract.</p> </div>
<pre> $micheline.michelson_v1.expression $micheline.michelson_v1.expression: /* Micheline expression (michelson_v1 variant) */ { "int": string } || { "string": string } || [ $micheline.michelson_v1.expression ... ] || { "prim": "BALANCE" | "LSL" | "LOOP_LEFT" | "CREATE_ACCOUNT" | "LOOP" | "LT" | "False" | "DUP" | "NOW" | "ABS" | "ADD" | "contract" | "big_map" | "MUL" | "ITER" | "EDIV" | "Unit" | "SOME" | "Pair" | "string" | "INT" | "MAP" | "XOR" | "return" | "bool" | "CONCAT" | "UPDATE" | "SOURCE" | "code" | "AMOUNT" | "CONS" | "CHECK_SIGNATURE" | "set" | "FAIL" | "UNIT" | "NEG" | "SIZE" | "key_hash" | "CREATE_CONTRACT" | "timestamp" | "True" | "Right" | "H" | "OR" | "LSR" | "CAR" | "EMPTY_MAP" | "AND" | "nat" | "HASH_KEY" | "RIGHT" | "MEM" | "NONE" | "NIL" | "Left" | "DEFAULT_ACCOUNT" | "GET" | "NOT" | "list" | "NEQ" | "key" | "EQ" | "SWAP" | "TRANSFER_TOKENS" | "LEFT" | "SELF" | "COMPARE" | "DIP" | "MANAGER" | "PUSH" | "LE" | "SUB" | "IF_NONE" | "Elt" | "option" | "tez" | "STEPS_TO_QUOTA" | "unit" | "EMPTY_SET" | "GE" | "PAIR" | "pair" | "IF" | "signature" | "or" | "Some" | "IF_CONS" | "parameter" | "LAMBDA" | "GT" | "REDUCE" | "int" | "None" | "map" | "EXEC" | "DROP" | "IF_LEFT" | "lambda" | "storage" | "CDR", "args": [ $micheline.michelson_v1.expression ... ], "annot"?: string }</pre> </div>
.. _ref78 :
POST /blocks/<block_id>/proto/context/level
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref78descr', 'ref78')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref78output', 'ref78')">Output format</button> </div>
<p> Detailled level information for the current block</p> </div>
<pre> { "level": integer ∈ ]-2^31-2, 2^31+2[, "level_position": integer ∈ ]-2^31-2, 2^31+2[, "cycle": integer ∈ ]-2^31-2, 2^31+2[, "cycle_position": integer ∈ ]-2^31-2, 2^31+2[, "voting_period": integer ∈ ]-2^31-2, 2^31+2[, "voting_period_position": integer ∈ ]-2^31-2, 2^31+2[, "expected_commitment": boolean }</pre> </div>
.. _ref79 :
POST /blocks/<block_id>/proto/context/next_level
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref79descr', 'ref79')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref79output', 'ref79')">Output format</button> </div>
<p> Detailled level information for the next block</p> </div>
<pre> { "level": integer ∈ ]-2^31-2, 2^31+2[, "level_position": integer ∈ ]-2^31-2, 2^31+2[, "cycle": integer ∈ ]-2^31-2, 2^31+2[, "cycle_position": integer ∈ ]-2^31-2, 2^31+2[, "voting_period": integer ∈ ]-2^31-2, 2^31+2[, "voting_period_position": integer ∈ ]-2^31-2, 2^31+2[, "expected_commitment": boolean }</pre> </div>
.. _ref80 :
POST /blocks/<block_id>/proto/context/nonce
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref80descr', 'ref80')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref80output', 'ref80')">Output format</button> </div>
<p> Hash of the current block's nonce.</p> </div>
<pre> string /* A nonce hash (Base58Check-encoded) */</pre> </div>
.. _ref81 :
POST /blocks/<block_id>/proto/context/nonce/<block_level>
.. raw:: html
<button class="tablinks defaultOpen" onclick="showTab(this, 'ref81descr', 'ref81')">Description</button> <button class="tablinks" onclick="showTab(this, 'ref81output', 'ref81')">Output format</button> </div>