The xone binary is more than the node. Next to a running node it gives a console (xone attach), a read-only check of an RPC endpoint before an application uses it (xone rpc check), a bounded wait for readiness (xone wait-ready), a sync progress view (xone sync-status), and two EVM tools (xone evm t8n and xone evm statetest). The read-only tools have documented exit codes, so scripts can use them. attach, rpc check, wait-ready and sync-status are on main only, not in the v0.1.0 release.
xone attach is smaller than geth attach: it has no JavaScript engine. The other tools have no direct counterpart in geth attach.
What does xone attach do?
A line console over IPC or HTTP that maps geth-console calls, such as eth.blockNumber, admin.peers or XDPoS.getMasternodes(), to JSON-RPC (attach.rs). It came in PR #1000, merged 2026-11-15.
xone attach --ipcpath <datadir>/xone.ipc
xone attach --rpc http://127.0.0.1:8545 --exec 'eth.blockNumber'
Only namespace.method(literal, ...) and a raw method name are accepted. Expressions, eth.accounts[0] and assignments are refused. --exec runs one command and exits 1 on an RPC error.
What does xone rpc check do?
One read-only pass over an RPC endpoint before an application relies on it: it reads the chain id, the client version and the module list, and probes each required method with no parameters (rpccheck.rs).
xone rpc check --rpc http://127.0.0.1:8545 --network apothem --require eth_getLogs,XDPoS_getMasternodes
-32601 means the method is missing; any other answer, even "invalid params", means it exists. Credentials in the URL are not sent and never printed. Exit codes: 0 ready, 1 unreachable or a required method missing, 2 wrong chain, 3 bad arguments.
What does xone wait-ready do?
It waits, with a deadline, until a running node is ready: the RPC answers, eth_chainId matches the expected network if you give one, eth_syncing is false, and /readyz answers 200 if you pass --readyz (wait.rs). It never touches a datadir.
xone wait-ready --rpc http://127.0.0.1:8545 --network net2040 --timeout 300 --json
Defaults: --timeout 300, --interval 2. Exit codes: 0 ready, 1 deadline reached, 2 wrong network, 3 bad arguments.
What does xone sync-status do?
A human-readable view of sync progress over the node's RPC, with the reason when it does not move (syncstatus.rs). States: empty, syncing, caught up, stale head (not syncing but older than --max-age, default 60 s) and no progress (the head did not move between two samples; the peer count is shown as the likely cause). A sample that cannot be read prints unreachable.
What are xone evm t8n and xone evm statetest?
xone evm t8n runs one state transition from an alloc, an env and a transaction list, and writes geth's result.json and alloc.json. The release gate compares its output with the pinned geth-XDC byte for byte (the t8n corpus gate). xone evm statetest runs state-test fixtures, one file or a directory (the statetest runner, the EEST run).
Which other subcommands are there?
The flag reference lists, among others: init <genesis.json>, version, dumpconfig [--schema], checkconfig, doctor, genesis-hash --network <name>, import, export, snapshot export|import, completions <bash|zsh|fish> and manpage. The xone p2p tools are covered in the p2p live checklist.
The collected competitor articles state no claim about these tools, so this post has no comparison table.
Frequently asked questions
Is xone attach a JavaScript console like geth attach?
No. It accepts namespace.method(literal, ...) and raw method names only. Expressions and assignments are refused.
How do I wait for an xOne node to be ready in a script?
Run xone wait-ready --rpc <url> --network <name> --timeout <s>. Exit 0 means ready; 1 means the deadline passed; 2 means the node is on another network.
Does xone rpc check change anything on the node?
No. It sends read-only calls only and never prints credentials from the URL.
Are these tools in the v0.1.0 release?
No. attach, rpc check, wait-ready and sync-status were all added after v0.1.0 (attach in PR #1000 on 2026-11-15). Build xone from main.
Sources
This article describes the source and evidence at its review date. Check the linked repository for current implementation and qualification status.
Explore the engineering evidenceEdit this page on GitHub opens the Markdown source (content/blog/xone-cli-tools/index.md). GitHub may ask you to sign in. Report a correction opens a prefilled GitHub issue for this page.