system_version - Mythos RPC Method
Get the node implementation version on Mythos. Essential for compatibility checking, runtime upgrades, and monitoring node deployments across the the gaming blockchain powering FIFA Rivals and NFL Rivals with World ID verification network.
Returns the node implementation version string on Mythos. This version reflects the client software version (e.g., 0.9.43-ba6af1743a0), not the on-chain runtime version.
Why Mythos? Build on the gaming blockchain powering FIFA Rivals and NFL Rivals with World ID verification with World ID proof-of-humanity, Polkadot security, Snowbridge cross-chain bridge, and 1M+ downloads per title.
When to Use This Method
system_version is essential for game studios, player-driven economy builders, and teams requiring verified human-only gameplay:
- Compatibility Checking -- Verify the node client version supports the features your application requires on Mythos
- Upgrade Monitoring -- Track node software versions across your validator or collator fleet after runtime upgrades
- Diagnostics and Debugging -- Include version information in bug reports and support requests for AAA gaming (FIFA Rivals, NFL Rivals, Pudgy Party), player-owned economies, and bot-resistant matchmaking
- Multi-Node Management -- Ensure all nodes in your infrastructure are running consistent versions
Code Examples
Common Use Cases
1. Node Fleet Version Monitoring
Track version consistency across multiple Mythos nodes:
import { ApiPromise, WsProvider } from '@polkadot/api';
async function checkFleetVersions(endpoints) {
const versions = await Promise.all(
endpoints.map(async (endpoint) => {
const provider = new WsProvider(endpoint);
const api = await ApiPromise.create({ provider });
const version = await api.rpc.system.version();
const name = await api.rpc.system.name();
await api.disconnect();
return { endpoint, version: version.toString(), name: name.toString() };
})
);
const unique = new Set(versions.map((v) => v.version));
if (unique.size > 1) {
console.warn('Version mismatch detected across fleet!');
}
versions.forEach((v) => {
console.log(`${v.endpoint}: ${v.name} v${v.version}`);
});
}2. Pre-Upgrade Compatibility Check
Verify node version before executing operations:
async function ensureMinVersion(api, minVersion) {
const version = await api.rpc.system.version();
const versionStr = version.toString();
const [major, minor, patch] = versionStr.split('-')[0].split('.').map(Number);
const [minMajor, minMinor, minPatch] = minVersion.split('.').map(Number);
if (
major < minMajor ||
(major === minMajor && minor < minMinor) ||
(major === minMajor && minor === minMinor && patch < minPatch)
) {
throw new Error(
`Node version ${versionStr} is below minimum ${minVersion}`
);
}
console.log(`Node version ${versionStr} meets minimum ${minVersion}`);
return true;
}3. Node Identity Dashboard
Gather full node identity information:
async function getNodeIdentity(api) {
const [version, name, chain, properties] = await Promise.all([
api.rpc.system.version(),
api.rpc.system.name(),
api.rpc.system.chain(),
api.rpc.system.properties()
]);
return {
client: name.toString(),
version: version.toString(),
chain: chain.toString(),
tokenSymbol: properties.tokenSymbol.toString(),
ss58Format: properties.ss58Format.toString()
};
}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_chain-- Get the chain namesystem_name-- Get the node implementation namesystem_properties-- Get chain properties (token symbol, decimals, SS58 format)state_getRuntimeVersion-- Get the on-chain runtime version (spec version, impl version)rpc_methods-- List all available RPC methods
system_chain
Get the chain name on Mythos. Essential for network identification, multi-chain applications, and verifying the correct network connection.
system_name
Get the node implementation name on Mythos. Identify the client software powering your node for diagnostics, compatibility checks, and infrastructure management.