THE xONE LAB Explore the performance record
xone.sh

Testing.

28 stories

Sync6 min read

How to run an XDC Apothem follower with xOne: measured

Run an xOne follower on XDC Apothem by full or snap sync. See what the xOne team measured on its Apothem nodes: head, disk, memory, and what is not measured.

Nov 15, 2026Read story
Testing8 min read

How xOne proves parity with geth-XDC: the replay gate

How xOne checks blocks, state roots and RPC answers against a pinned geth-XDC with its replay gate, and which recorded block ranges show 0 mismatches today.

Nov 15, 2026Read story
Developers4 min read

Resuming an xone --dev chain: seeded fixtures on XDC

How a seeded xone --dev chain resumes from its datadir, how a copied datadir becomes a saved fixture, and which starts xOneRS refuses before writing anything.

Nov 15, 2026Read story
Testing5 min read

Running the Ethereum execution spec tests against xOne

The first pinned EEST v5.4.0 run of the xOneRS statetest runner: 1,645 cases run, 1,639 passed, 6 confirmed XDC rule differences, 42,386 entries skipped.

Nov 15, 2026Read story
Consensus7 min read

How epoch switches work on XDC and how xOne tests them

What an XDC epoch switch is, what its header carries, how masternode lists and leaders are derived, and how xOne checks V1 checkpoints and V2 switches.

Nov 15, 2026Read story
Mint7 min read

How fair mint is measured on XDC net2040 with xOne

How xOne counts fair mint on XDC net2040: the miner of every canonical block, three windows, the leader formula and seal checks. Repeat a count over JSON-RPC.

Nov 15, 2026Read story
Testing12 min read

XDC fleet snapshot 2026-11-15: xOne and other clients

Every node of the xOne fleet on net2040 and Apothem at 2026-11-15 01:50 UTC: head, lag, disk, memory and RPC sample, plus one correction to an earlier row.

Nov 15, 2026Read story
Storage7 min read

Inside xOneTS: SQLite storage and dense sync on XDC

How xOneTS keeps XDC chain data in bun:sqlite and segment files, how group commit and the hashed-key migration work, and what the dense-sync fix changed.

Nov 15, 2026Read story
Operations3 min read

What a refused block leaves behind: xOne's invalid-block evidence

When xOneRS refuses an XDC block, it keeps the block and the error in a bounded evidence directory: what an entry holds, the 16-entry and 1 GiB bounds, limits.

Nov 15, 2026Read story
Testing5 min read

How fast does a block reach each XDC client? A net2040 sample

A five-minute read-only sample on three hosts: when each xOne and fork node on net2040 first reported a new head, compared with the block's own timestamp.

Nov 15, 2026Read story
Testing7 min read

net2040 incident log, week 46: xOne seat misses and outages

Blameless net2040 incident log for 2026-11-09 to 2026-11-15: each recorded miss and outage of the four xOne seats, with its recorded cause, fix and open gaps.

Nov 15, 2026Read story
Testing4 min read

Running the net2040 replay with xone-replay: fetch, run, gate

How xone-replay replays net2040 on xOneRS's own state: the block cache, the run command, what a mismatch record holds, and why it gates consensus changes.

Nov 15, 2026Read story
Consensus7 min read

How xOne computes XDC penalties and rewards bit-exactly

Who xOne penalises on XDC, how long a penalty lasts, how a node returns, how signing sets rewards, and how golden vectors and mutants prove the result.

Nov 15, 2026Read story
Testing6 min read

Why a one-block reorg wedged an xOne node on Apothem

Post-mortem of xOneRS issue 577: a one-block reorg stopped an Apothem validator. Read the cause, the per-block undo added in PR 606, its test and open work.

Nov 15, 2026Read story
Testing9 min read

xOne replay gate in numbers: vectors, blocks and hours

The xOne replay gate in numbers for XDC: 430 vector files, replayed block ranges, transactions, epoch switches and wall-clock times for four clients, with sums.

Nov 15, 2026Read story
RPC4 min read

xOne RPC parity on Apothem and net2040 in numbers

The xOneRS RPC parity reports against geth-XDC: 820 and 1,038 equal answers, 0 differ, and what not-backed and allowlisted rows mean on each XDC network.

Nov 15, 2026Read story
RPC4 min read

How to run the xOne RPC parity sweep, and compare your own node

How to run the xOneRS RPC parity sweep from the repository, what it compares, and how to compare your own xOne node with a geth-XDC node of the same network.

Nov 15, 2026Read story
Clients6 min read

How to run and verify xOneC, the C++ XDC client

Build xOneC or use the v0.1.0 binary, follow net2040 or Apothem, pick a sync mode, and check the node: version stamp, board, head, replay gate and known gaps.

Nov 15, 2026Read story
Clients6 min read

How to run and verify xOneTS, the TypeScript XDC client

Build xOneTS with Bun or take the v0.1.0 binary, follow net2040, then check the version stamp, the stats board, head lag and replay records. Private repo.

Nov 15, 2026Read story
Testing7 min read

State of parity for XDC clients in xOne, week of 2026-11-15

xOne parity with geth-XDC on 2026-11-15: replay ranges and mismatch counts for four clients, RPC parity counts, vector counts, the pin and fork rows covered.

Nov 15, 2026Read story
Release4 min read

How xOne qualifies a release tarball with the t8n corpus gate

How ci/qualify-artifact.sh runs the recorded t8n corpus through the packaged xOneRS binary and refuses a tarball whose output differs from the pinned geth-XDC.

Nov 15, 2026Read story
Release4 min read

How xOne stamps a build: version string and reproducible releases

How xOneRS builds its version stamp, why SOURCE_DATE_EPOCH fixes the date, which flags make two builds byte-equal, and what the static musl test build showed.

Nov 15, 2026Read story
Testing4 min read

Running EVM state tests with xone evm statetest on XDC

How the xOneRS statetest runner runs a GeneralStateTests or EEST fixture, which cases it skips and why, and how a fixture reproduces the pinned geth-XDC root.

Nov 15, 2026Read story
Testing8 min read

xOne vs besu-xdc: measured head, disk, memory and RPC

Read-only measurement of besu-xdc (Bonsai) and xOne nodes on net2040 and Apothem: head, datadir size, memory and RPC JSON shape, with the sync mode of each row.

Nov 15, 2026Read story
Testing6 min read

xOne vs erigon-xdc: what we could measure on Apothem

One read of the only erigon-xdc node, on Apothem, while it re-synced from block 0: datadir and memory only, next to xOne rows and published erigon-xdc claims.

Nov 15, 2026Read story
Testing7 min read

xOne vs geth-XDC on net2040 and Apothem: measured results

Measured results of xOne against geth-XDC: block share on net2040, RPC parity, replay parity and archive reads, each with its network, range, date and source.

Nov 15, 2026Read story
Testing9 min read

xOne vs nethermind-xdc on XDC: measured head, disk, memory, RPC

xOne against nethermind-xdc on net2040 and Apothem: head, datadir size, memory and RPC JSON for each node, with sync or pruning mode, network and date.

Nov 15, 2026Read story
Clients10 min read

xOne vs reth-xdc on XDC: measured head, disk, memory, RPC

Head, datadir size, memory and RPC output of xOne and reth-xdc on net2040 and Apothem, from one read-only sample taken on 2026-11-14, with each node's mode.

Nov 15, 2026Read story
Was this page helpful?

Feedback is public on GitHub and needs a GitHub account. Nothing is sent until you submit the issue there. Page: /blog/tags/testing/. Reviewed version: 14 November 2026.

YOUR NEXT STEP

Build your way.

Choose an implementation to see its source-based build recipe.

Use the pinned Rust toolchain and platform build prerequisites in the repository.

git clone https://github.com/XDCIndia/xOneRS.git
cd xOneRS
cargo build --locked --release -p xone
./target/release/xone --version

This recipe builds the client; it does not start a node. Mainnet operation is not yet qualified.

Open source guide