Overview¶
What is XE?¶
XE is a block-lattice network inspired by Nano where every account maintains its own blockchain. There is no single global chain -- instead, cross-chain references between send and receive blocks form a directed acyclic graph (DAG). The result is a ledger that can process transactions for different accounts in parallel with no contention.
XE extends the block-lattice model with:
- Dual assets -- XE (emission rewards) and XUSD (payment for compute leases, voting weight).
- Compute leasing -- on-chain resource marketplace where consumers pay XUSD and providers earn XE.
- DAO governance -- a deterministic state chain for parameter updates, timekeeper management, and network evolution.
- P2P messaging -- direct encrypted messages between nodes via libp2p streams.
- Account directory -- decentralized name-to-address mapping propagated via gossip.
Architecture at a glance¶
┌─────────────────────────────────────────────────┐
│ cmd/node (CLI) │
├─────────────────────────────────────────────────┤
│ node (orchestration) │
├──────────┬──────────┬───────────┬───────────────┤
│ core │ net │ statechain│ api (HTTP) │
│ (ledger, │ (gossip, │ (DAO, │ │
│ crypto, │ sync, │ KV store)│ │
│ PoW, │ DHT, │ │ │
│ voting) │ msg) │ │ │
├──────────┴──────────┴───────────┴───────────────┤
│ store (BadgerDB / MemStore) │
└─────────────────────────────────────────────────┘
The core node is written in Go (~13,000 lines of source, plus tests and scripts). It uses:
- libp2p for peer-to-peer networking, pubsub gossip, Kademlia DHT, and mDNS discovery.
- BadgerDB for persistent key-value storage of blocks, chains, pending sends, votes, conflicts, leases, and state chain data.
- blake2b for proof-of-work hashing (8-byte truncated digest).
- ed25519 for account key pairs and block signatures.
- SHA-256 for block content hashing.
Frontends¶
Two SvelteKit applications provide browser interfaces:
Explorer -- a block explorer and network dashboard that displays accounts, chains, blocks, leases, state chain entries, and network statistics. Connects to a node's HTTP API.
Web Wallet -- a client-side wallet for managing keys, sending/receiving assets, creating and settling leases, and interacting with the account directory. Private keys never leave the browser.
What's next¶
- Quick Start -- build and run a node
- Architecture -- detailed package breakdown and startup sequence
- Block Lattice -- how the DAG works
- Accounts and Keys -- ed25519 key pairs and addresses
- Block Types -- all eight block types with field-level detail
- Assets -- the dual-asset model