Octez DAL Node RPC (Octez 1111.0~rc2+dev (958bc09e))

Download OpenAPI specification:

The RPC API for the Octez DAL node.

/health

Performs health checks on the DAL node, evaluating key components of the DAL node. Returns a health status indicating whether the DAL node is 'Up', 'Down', or 'Degraded' based on the results of these checks.

Responses

Response samples

Content type
application/json
{
  • "status": "degraded",
  • "checks": [
    ]
}

/last_processed_level

Returns the last (finalized) L1 level which was processed by the DAL node.

Responses

Response samples

Content type
application/json
-2147483648

/levels/{int32}/slots/{int}/commitment

Return the accepted commitment associated to the given slot index and published at the given level.

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
"string"

/levels/{int32}/slots/{int}/content

Retrieve the content of the slot whose id is given.

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
"string"

/levels/{int32}/slots/{int}/pages

Fetch slot as list of pages

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
[
  • "string"
]

/levels/{int32}/slots/{int}/pages/{int}/proof

Compute the proof associated with a page of a given slot.

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
"string"

/levels/{int32}/slots/{int}/shards/{int}/content

Fetch shard as bytes

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
[
  • -1073741824
]

/levels/{int32}/slots/{int}/status

Return the status for the given slot.

path Parameters
int32
required
string
int
required
string

Responses

Response samples

Content type
application/json
Example
"waiting_attestation"

/p2p/connect

Connect to a new peer.

query Parameters
timeout
string

A span of time in seconds

Request Body schema: application/json
One of
One of
string (Universal string representation)

Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
null

/p2p/gossipsub/backoffs

Get the backoffs of the peers with a backoff, per topic.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/connections

Get this node's currently active connections.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/fanout

Returns the fanout peers per topic alongside the last publication time on the topic.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/mesh

Get the mesh of the peer. Concretely, the RPC returns a list of topics, where each topic is associated to the remote peers with which the current node shares a full connection (on that topic). Optional arguments allow to restrict the output to a given delegate or slot index.

query Parameters
delegate
string

A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)

slot_index
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/message_cache

Get the number of message ids in the message cache, grouped by heartbeat tick and topic.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/pkhs/peers

When the 'all' flag is given, get an association list between each topic subscribed to by the connected peers and the remote peers subscribed to that topic. If the 'all' flag is not given, then restrict the output to the topics this peer is subscribed to.

query Parameters
all
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/reconnection_delays

For each unreachable point, retrieve the time remaining until the next reconnection attempt.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/scores

Get the scores of the peers with a known score.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/slot_indexes/peers

When the 'all' flag is given, get an association list between each public key hash part of a topic subscribed to by the connected peers and the remote peers subscribed to such topics. If the 'all' flag is not given, then restrict the output to the topics this peer is subscribed to.

query Parameters
all
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/topics

Get the topics this node is currently subscribed to.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/gossipsub/topics/peers

When the 'all' flag is given, get an association list between each topic subscribed to by the connected peers and the remote peers subscribed to that topic. If the 'all' flag is not given, then restrict the output to the topics this peer is subscribed to.

query Parameters
all
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/peers

By default, get the list of known peers. When the 'connected' flag is given, then only get the connected peers.

query Parameters
connected
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/peers/by-id/{peer_id}

Get info of the requested peer

path Parameters
peer_id
required
string

A cryptographic node identity (Base58Check-encoded)

Responses

Response samples

Content type
application/json
{
  • "info": {
    }
}

/p2p/peers/by-id/{peer_id}

Change the permissions of a given peer. With {acl: ban}: blacklist the given peer and remove it from the whitelist if present. With {acl: open}: removes the peer from the blacklist and whitelist. With {acl: trust}: trust the given peer permanently and remove it from the blacklist if present. The peer cannot be blocked (but its host IP still can). In all cases, the updated information for the peer is returned. If input is omitted, this is equivalent to using the GET version of this RPC.

path Parameters
peer_id
required
string

A cryptographic node identity (Base58Check-encoded)

Request Body schema: application/json
acl
string
Enum: "open" "trust" "ban"

Responses

Request samples

Content type
application/json
{
  • "acl": "open"
}

Response samples

Content type
application/json
{
  • "info": {
    }
}

/p2p/peers/disconnect/{peer_id}

Disconnect from a peer.

path Parameters
peer_id
required
string

A cryptographic node identity (Base58Check-encoded)

query Parameters
wait
string

Responses

Response samples

Content type
application/json
null

/p2p/peers/info

Get list of known peers and their corresponding info.

query Parameters
connected
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/points

By default, get the list of known points. When the 'connected' flag is given, only get the connected points.

query Parameters
connected
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/p2p/points/by-id/{point}

Get info of the requested point

path Parameters
point
required
string

A network point (ipv4:port or [ipv6]:port).

Responses

Response samples

Content type
application/json
{
  • "info": {
    }
}

/p2p/points/disconnect/{point}

Disconnect from a point.

path Parameters
point
required
string

A network point (ipv4:port or [ipv6]:port).

query Parameters
wait
string

Responses

Response samples

Content type
application/json
null

/p2p/points/info

By default, get the list of known points and their corresponding info. When the 'connected' flag is given, then only get the connected points.

query Parameters
connected
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/profiles

Return the list of current profiles tracked by the DAL node.

Responses

Response samples

Content type
application/json
Example
{
  • "kind": "bootstrap"
}

/profiles

Update the list of profiles tracked by the DAL node. Note that it does not take the bootstrap profile as it is incompatible with other profiles.

Request Body schema: application/json
operators
Array of integers[ items [ -1073741824 .. 1073741823 ] ]
observers
Array of integers[ items [ -1073741824 .. 1073741823 ] ]
Array of (Universal string representation (Universal string representation (string) or Universal string representation (object))) (A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded))

Responses

Request samples

Content type
application/json
{
  • "operators": [
    ],
  • "observers": [
    ],
  • "attesters": [
    ]
}

Response samples

Content type
application/json
null

/profiles/{pkh}/attested_levels/{int32}/assigned_shard_indices

Return the shard indexes assigned to the given public key hash at the given level.

path Parameters
pkh
required
string

A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)

int32
required
string

Responses

Response samples

Content type
application/json
[
  • -32768
]

/profiles/{pkh}/attested_levels/{int32}/attestable_slots

Return the currently attestable slots at the given attested level by the given public key hash. A slot is attestable at level [l] if it is published at level [l - attestation_lag] and all the shards assigned at level [l] to the given public key hash are available in the DAL node's store.

path Parameters
pkh
required
string

A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)

int32
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "kind": "attestable_slots_set",
  • "attestable_slots_set": [
    ],
  • "published_level": -2147483648
}

/protocol_parameters

Returns the protocol parameters as known by the DAL node. An optional 'level' argument can specify for which level to retrieve them.

query Parameters
level
string

Responses

Response samples

Content type
application/json
{
  • "feature_enable": true,
  • "incentives_enable": true,
  • "number_of_slots": -1073741824,
  • "attestation_lag": -1073741824,
  • "attestation_threshold": -1073741824,
  • "traps_fraction": {
    },
  • "cryptobox_parameters": {
    },
  • "sc_rollup_challenge_window_in_blocks": -1073741824,
  • "commitment_period_in_blocks": -1073741824,
  • "dal_attested_slots_validity_lag": -1073741824,
  • "blocks_per_cycle": -2147483648,
  • "minimal_block_delay": "string"
}

/published_levels/{int32}/known_traps

For a given published level, return all the traps known by the node. Optional arguments allow to restrict the output to a given delegate or slot index.

path Parameters
int32
required
string
query Parameters
delegate
string

A Secp256k1 of a Ed25519 public key hash (Base58Check-encoded)

slot_index
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

/slots

Post a slot to the DAL node, computes its commitment and commitment proof, then computes the correspoding shards with their proof. The result of this RPC can be directly used to publish a slot header. If the sent data is smaller than the size of a DAL slot, it is padded with the character provided as padding query parameter (defaults to \000). If the slot_index query parameter is provided, the DAL node checks that its profile allows to publish data on the given slot index.

query Parameters
padding
required
string
slot_index
required
string
Request Body schema: application/json
One of
string (Universal string representation)

Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences.

Responses

Request samples

Content type
application/json
{
  • "invalid_utf8_string": [
    ]
}

Response samples

Content type
application/json
{
  • "commitment": "string",
  • "commitment_proof": "string"
}

/version

version

Responses

Response samples

Content type
application/json
{
  • "network_version": {
    }
}