For the complete documentation index, see llms.txt. This page is also available as Markdown.

system_nodeRoles - Polkadot

Example code for the system_nodeRoles JSON RPC method. Complete guide on how to use system_nodeRoles JSON RPC in GetBlock Web3 documentation.

This method returns the roles the node performs on the network, such as Full or Authority.

Parameters

This method does not accept any parameters.

Request

curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{"jsonrpc": "2.0", "method": "system_nodeRoles", "params": [], "id": "getblock.io"}'
example.js
const response = await fetch('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        jsonrpc: '2.0',
        method: 'system_nodeRoles',
        params: [],
        id: 'getblock.io'
    })
});

const data = await response.json();
console.log(data.result);
example.py
import requests

response = requests.post(
    'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'system_nodeRoles',
        'params': [],
        'id': 'getblock.io'
    }
)

print(response.json()['result'])

Response

{
    "id": "getblock.io",
    "jsonrpc": "2.0",
    "result": [
        "Full"
    ]
}

Response Parameters

Parameter
Type
Description

id

string

Request identifier matching the request

jsonrpc

string

JSON-RPC protocol version ("2.0")

result

array

Array of node roles

Use Cases

  • Role Detection: Determine whether a node is an authority

  • Routing: Route requests based on node role

  • Diagnostics: Confirm the expected node role

  • Monitoring: Track roles across a fleet

Error Handling

Error Code
Message
Description

-32602

Invalid params

A parameter is missing or has the wrong type or format

-32601

Method not found

The method is not available on this endpoint

-32603

Internal error

The node failed to process the request

Library Integration

The idiomatic way to call Polkadot RPC is the Polkadot.js API (@polkadot/api), which connects over WebSocket and exposes the method as api.rpc.system.nodeRoles.

Was this helpful?