Docs

system_name - Neuroweb RPC Method

Get the node implementation name on Neuroweb. Identify the client software powering your node for diagnostics, compatibility checks, and infrastructure management.

Returns the node implementation name on Neuroweb. This identifies the client software running the node (e.g., "Parity Polkadot", "Substrate Node", "Astar Collator").

Why Neuroweb? Build on the decentralized AI blockchain powering 125M+ Knowledge Assets with MIT-awarded technology with OriginTrail DKG V8 with 500-1000x scalability, 40% of US imports secured, EVM compatibility, and Best Decentralized AI Project (MIT).

When to Use This Method

system_name is essential for AI developers, knowledge graph builders, and teams requiring verifiable AI solutions:

  • Client Identification -- Determine which Substrate client implementation your node is running (useful when multiple implementations exist)
  • Infrastructure Monitoring -- Track client types across your validator or collator fleet on Neuroweb
  • Bug Reports and Diagnostics -- Include client implementation details when reporting issues for decentralized knowledge graphs (DKG), verifiable AI, supply chain audits, and knowledge mining
  • Compatibility Checks -- Verify that the node implementation supports features required by your application

Code Examples

Common Use Cases

1. Full Node Identity Report

Gather complete node identity details in a single call:

JavaScript
import { ApiPromise, WsProvider } from '@polkadot/api';

async function getNodeIdentity(endpoint) {
  const provider = new WsProvider(endpoint);
  const api = await ApiPromise.create({ provider });

  const [name, version, chain] = await Promise.all([
    api.rpc.system.name(),
    api.rpc.system.version(),
    api.rpc.system.chain()
  ]);

  const identity = {
    implementation: name.toString(),
    version: version.toString(),
    chain: chain.toString(),
    endpoint
  };

  await api.disconnect();
  return identity;
}

// Example output:
// { implementation: "Parity Polkadot", version: "0.9.43-ba6af17", chain: "Polkadot", endpoint: "..." }

2. Infrastructure Audit Across Nodes

Audit client implementations across a fleet of Neuroweb nodes:

JavaScript
async function auditFleetClients(endpoints) {
  const results = await Promise.all(
    endpoints.map(async (endpoint) => {
      try {
        const provider = new WsProvider(endpoint);
        const api = await ApiPromise.create({ provider });
        const name = await api.rpc.system.name();
        const version = await api.rpc.system.version();
        await api.disconnect();
        return { endpoint, client: name.toString(), version: version.toString(), status: 'ok' };
      } catch (error) {
        return { endpoint, client: null, version: null, status: 'unreachable' };
      }
    })
  );

  // Group by client implementation
  const byClient = {};
  for (const node of results) {
    if (node.client) {
      byClient[node.client] = byClient[node.client] || [];
      byClient[node.client].push(node);
    }
  }

  console.log('Client distribution:', Object.keys(byClient).map(
    (k) => `${k}: ${byClient[k].length} nodes`
  ));

  return results;
}

3. Connection Health Check with Client Info

Include client implementation in health-check responses:

JavaScript
async function healthCheckWithClientInfo(api) {
  try {
    const name = await api.rpc.system.name();
    const version = await api.rpc.system.version();
    const chain = await api.rpc.system.chain();

    return {
      healthy: true,
      client: `${name.toString()} v${version.toString()}`,
      chain: chain.toString(),
      checkedAt: new Date().toISOString()
    };
  } catch (error) {
    return {
      healthy: false,
      error: error.message,
      checkedAt: new Date().toISOString()
    };
  }
}

Error Handling

Common errors and solutions:

Error CodeDescriptionSolution
-32603Internal errorNode may be starting up -- retry after delay
-32005Rate limit exceededReduce request frequency or implement client-side rate limiting
Connection refusedNode unreachableVerify the RPC endpoint URL and that the node is running