xOneC is the native C++ implementation in the xOne family. Its focus is a native implementation of the XDC execution client.

What it is

  • Runtime: native C++23
  • Execution: its own C++ EVM interpreter
  • Storage: libmdbx
  • Consensus: XDC consensus modules
  • License: MIT

Why a C++ client

Writing the EVM interpreter and consensus modules directly gives a codebase with no borrowed execution engine, and a different set of failure modes from the other clients. That independence is the point: disagreement between implementations is how protocol bugs get found.

How to build it

The repository is currently private, so you need access first. The toolchain is clang 19+, clang-format, clang-tidy, CMake 3.28+, Ninja, and Python 3.

git clone https://github.com/XDCIndia/xOneC.git
cd xOneC
cmake --preset dev
cmake --build --preset dev
build/dev/xonec --version

The presets are defined in CMakePresets.json.

Source

github.com/XDCIndia/xOneC