xone setup walks a new operator through a first follower node: it asks for the network, the install method, the datadir and the RPC endpoint, shows the config and the exact next commands, and writes them only after you confirm. It can speak English, Hindi or Marathi, and it can write a JSON-lines event stream for scripts. It never sets up a validator. The command came in PR #1049, the events in PR #1052 and the languages in PR #1081, all on 2026-11-15, so it is on main and not in v0.1.0.
For the manual path, see how to run and verify xOneRS and choosing a sync mode.
What does xone setup ask?
From the prompt catalog in crates/xone-node/src/setup.rs:
| Prompt | Choices |
|---|---|
| Network | mainnet, apothem, devnet, net2040 |
| Role | follower only |
| Install method | bare, systemd, docker |
| Datadir | a path; consensus data goes under <datadir>/xone |
| HTTP endpoint | address and port, default 127.0.0.1:8545 |
| Operator workspace | a directory outside the chain data, default ./xone-operator |
| Confirm | "Apply this configuration? (y/N)" |
The answers become a config file and a list of next commands in the workspace. The rendered config loads and validates as a follower, with mining off.
The network prompt lists mainnet, and mainnet is also the default answer in the code, but the support matrix does not list mainnet as qualified for any role yet. We filed issue #1164 so that setup defaults to Apothem and warns or refuses on an unqualified network. Until then, answer the network prompt yourself.
How do I try it without changing anything?
xone setup --dry-run --datadir /var/lib/xone --workspace ./xone-operator
| Option | Effect |
|---|---|
--dry-run |
Shows the config and the next commands, writes nothing |
--yes |
Applies without the confirmation prompt (not together with --dry-run) |
--plain, or NO_COLOR set |
Plain output with no cursor controls |
--http-addr, --http-port |
Preset the endpoint |
A refused confirmation, --dry-run or typing cancel leaves the previous configuration unchanged, and the command says so: setup cancelled; previous configuration is unchanged.
Why does it refuse a validator role?
Because a validator needs more than a config: a key, a safety record, and on mainnet the project's Gate D. The setup refuses a producer, masternode or validator role, so a first-time operator cannot start signing by accident. For a validator, see signer setup and the net2040 validator guide.
Can the prompts be in Hindi or Marathi?
Yes. --lang hi or --lang mr (or XONE_LANG) shows the prompts in Hindi or Marathi; for example the confirmation is "यह विन्यास लागू करें? (y/N)" in Hindi and "हे विन्यास लागू करायचे? (y/N)" in Marathi. A missing translation falls back to English. The choice is saved in the workspace and used again next time.
Only the human text changes. Command names, error messages, JSON keys and the event stream stay the same in every language, so a script that drives xone setup works whatever the operator reads.
How does a script follow the setup?
--events <file> (or - for stderr) writes one JSON object per line (PR #1052):
- The fields are fixed English names:
v(version),step,state,outcome. - The steps are
collect-answers,render-configandapply-config. Each step that starts ends with a final state, or leaves asetup-progress.jsoncheckpoint in the workspace that a later run resumes from. - Secrets never appear in events: mnemonics, passwords, the ethstats secret and any user name or password in a URL are left out.
- The human preview stays on stdout, apart from the events.
Frequently asked questions
How do I set up my first XDC node with xOne?
Run xone setup --dry-run to see the plan, then xone setup to apply it, on a build from main after 2026-11-15.
Can xone setup create a validator?
No. It sets up followers only and refuses a validator role.
Does xone setup support Hindi?
Yes, with --lang hi. Marathi is --lang mr. Missing strings fall back to English.
Can I automate xone setup?
Yes. Use --yes to skip the prompt and --events for a JSON-lines progress stream with fixed field names.
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-setup-guided/index.md). GitHub may ask you to sign in. Report a correction opens a prefilled GitHub issue for this page.