system_name - Moonbeam RPC Method
Get the node implementation name on Moonbeam. Identify the client software powering your node for diagnostics, compatibility checks, and infrastructure management.
Returns the node implementation name on Moonbeam. This identifies the client software running the node (e.g., "Parity Polkadot", "Substrate Node", "Astar Collator").
Why Moonbeam? Build on the cross-chain connected EVM platform on Polkadot with $65M+ TVL and 100+ projects with full EVM compatibility on Polkadot, native XCM cross-chain messaging, 10K+ TPS, 24% staking APR, and $0.015 transaction costs.
When to Use This Method
system_name is essential for cross-chain dApp developers, Polkadot builders, and teams requiring multi-chain interoperability:
- 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 Moonbeam
- Bug Reports and Diagnostics -- Include client implementation details when reporting issues for cross-chain DeFi, multi-chain dApps, and Ethereum-to-Polkadot bridging via XCM, Axelar, LayerZero, and Wormhole
- 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:
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 Moonbeam nodes:
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:
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 Code | Description | Solution |
|---|---|---|
| -32603 | Internal error | Node may be starting up -- retry after delay |
| -32005 | Rate limit exceeded | Reduce request frequency or implement client-side rate limiting |
| Connection refused | Node unreachable | Verify the RPC endpoint URL and that the node is running |
Related Methods
system_version-- Get the node implementation versionsystem_chain-- Get the chain namesystem_properties-- Get chain properties (token symbol, decimals, SS58 format)state_getRuntimeVersion-- Get the on-chain runtime versionrpc_methods-- List all available RPC methods
system_version
Get the node implementation version on Moonbeam. Essential for compatibility checking, runtime upgrades, and monitoring node deployments across the the cross-chain connected EVM platform on Polkadot with $65M+ TVL and 100+ projects network.
system_properties
Get chain properties on Moonbeam including token symbol, decimals, and the address-format prefix when the chain exposes one. Essential for token formatting, wallet configuration, and address handling.