chains

module
v1.7.41 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2026 License: BSD-3-Clause

README

chains

Lux Chains

Independent VM plugin binaries for the Lux Network.

Each directory builds to a standalone binary that the Lux node loads as a plugin via --plugin-dir.

Build

make            # build all VMs
make evm        # build one VM
make test       # test all

Install

lpm install evm
lpm install dexvm

Or copy binaries to ~/.lux/plugins/<vmid>.

VMs

make's target list is named in the Makefile, and every name in it is a directory here that ships a plugin entrypoint (<vm>/cmd/plugin, or evm/main.go). dexvm/ is the exception in the table below: it is a library the EVM plugin embeds — it has no entrypoint of its own, so make builds no dexvm binary. The other directories here (fee/, ownership/, internal/, cmd/) are libraries and a tool, and are not VMs.

Live means the VM has a chain registered on Lux mainnet 96369 (platform.getBlockchains).

VM Chain Live on 96369 Purpose
evm C-Chain EVM smart contracts
dexvm D-Chain Decentralized exchange
aivm A-Chain AI/ML inference
bridgevm B-Chain Cross-chain bridge — also owns all cross-chain messaging / relay / teleport (LP-6000); there is no separate teleportvm
graphvm G-Chain GraphQL data layer
keyvm K-Chain Key management
quantumvm Q-Chain Post-quantum consensus signing (Pulsar)
zkvm Z-Chain Groth16 over BLS12-381 (rolls N × ML-DSA-65 sigs into 192-byte proof)
identityvm I-Chain ❌ built, not deployed Decentralized identity
oraclevm O-Chain ❌ built, not deployed Oracle/off-chain data
relayvm R-Chain ❌ built, not deployed Cross-chain relay
mpcvm M-Chain ❌ built, not deployed MPC ceremonies (CGGMP21, FROST, Pulsar-general) — bridge custody for external wallets (LP-7100)
fhevm F-Chain ❌ built, not deployed Confidential compute (LP-8200): ciphertext handles, access permits, threshold decryption. Records the public coordinates of encrypted values and holds none of the encrypted part — no ciphertext body, no FHE key, no share. Wraps the FHE runtime at mpcvm/fhe/
schain S-Chain ❌ built, not deployed S3-style object storage (on-chain metadata / off-chain blob). Declares its own VMID = ids.ID{'s','c','h','a','i','n'} in schain/factory.go and is not in the canonical luxfi/constants VM-ID registry

P-Chain (platformvm) and X-Chain (xvm) are in-process core VMs registered by luxfi/node, not plugins built here. Together with the eight ✅ rows above they are the ten chains live on 96369.

Not in this repo
Name Status
teleportvm / T-Chain Removed. LP-1340 dissolves T-Chain with zero remainder: threshold signing → M-Chain, FHE → F-Chain, cross-chain messaging/teleport → B-Chain (bridgevm). LP-5013 and LP-7330 are deprecated by LP-1340; see LP-7050 for the migration map. No teleportvm VM ID exists in luxfi/constants.
servicenodevm Never existed. The service-node registry was never built under this name; the S-Chain directory here is schain/ and is object storage, not a registry.
Plugin filenames

luxd resolves a CreateChainTx's vmID to an implementation by looking for a file of that name in --plugin-dir, so a plugin installed under any other name is invisible and its chain silently never starts. The filename is the CB58 of the vmID — n6sSsSfbpQBrU9sY4R29U6z8VrmnTo2CntW6da4rRS7qmnGdv for fhevm, qCURact1n41FcoNBch8iMVBwc9AWie48D118ZNJ5tBdWrvryS for mpcvm. Each VM pins its own in a test, because a vmID cannot change once a chain has been created with it.

Directories

Path Synopsis
Package aivm GPU backend — runtime-loaded plugin bridge.
Package aivm GPU backend — runtime-loaded plugin bridge.
cmd/conscious command
Command conscious drives a fresh, REAL Lux A-Chain (aivm) ChainVM through the production block lifecycle to produce the FIRST CONSCIOUS BLOCKS and prints the trace to stdout.
Command conscious drives a fresh, REAL Lux A-Chain (aivm) ChainVM through the production block lifecycle to produce the FIRST CONSCIOUS BLOCKS and prints the trace to stdout.
cmd/plugin command
Package artifacts defines canonical artifact types for cross-chain settlement per the v1.1 Unified Quantum-Safe PoS Ecosystem specification.
Package artifacts defines canonical artifact types for cross-chain settlement per the v1.1 Unified Quantum-Safe PoS Ecosystem specification.
cmd/plugin command
Package chain holds what every chain in this module is made of: a block's place in the sequence, the store that advances the chain one block at a time, the queue of entries waiting for a block, and the fee floor that admits them.
Package chain holds what every chain in this module is made of: a block's place in the sequence, the store that advances the chain one block at a time, the queue of entries waiting for a block, and the fee floor that admits them.
cmd
dex-assets-validate command
Command dex-assets-validate is the CI gate for the DEX real-assets-only model.
Command dex-assets-validate is the CI gate for the DEX real-assets-only model.
dexvm module
registry
Package registry is the DEX's real-assets-only enforcement layer: the single, orthogonal place that decides which assets and which markets are admissible.
Package registry is the DEX's real-assets-only enforcement layer: the single, orthogonal place that decides which assets and which markets are admissible.
registry/rpcverify
Package rpcverify is the REAL, network-backed ChainVerifier used by CI (and any out-of-process validator) to prove a manifest's assets exist on the TARGET net before a deploy.
Package rpcverify is the REAL, network-backed ChainVerifier used by CI (and any out-of-process validator) to prove a manifest's assets exist on the TARGET net before a deploy.
evm
Backend selection (cgo build): wire the C++ EVM (cevm) into the parallel-execution registry and pick the best available backend.
Backend selection (cgo build): wire the C++ EVM (cevm) into the parallel-execution registry and pick the best available backend.
cevm
Package cevm provides Go bindings to the C++ EVM (cevm) with GPU acceleration.
Package cevm provides Go bindings to the C++ EVM (cevm) with GPU acceleration.
cevm/parallel
Package parallel — cevm BlockExecutor for github.com/luxfi/evm.
Package parallel — cevm BlockExecutor for github.com/luxfi/evm.
Package fee is the whole native fee model of a Lux service chain: the ADMISSION policy a VM declares at boot (policy.go) and the SETTLEMENT mechanism that meters, debits and burns the admitted fee during block execution (balance.go, meter.go, settle.go).
Package fee is the whole native fee model of a Lux service chain: the ADMISSION policy a VM declares at boot (policy.go) and the SETTLEMENT mechanism that meters, debits and burns the admitted fee during block execution (balance.go, meter.go, settle.go).
Package fhevm implements the F-Chain: the coordination plane for confidential compute (LP-8200, LP-167).
Package fhevm implements the F-Chain: the coordination plane for confidential compute (LP-8200, LP-167).
cmd/plugin command
Package graphvm implements the Graph VM (G-Chain) — a shared GraphQL database across all Lux chains.
Package graphvm implements the Graph VM (G-Chain) — a shared GraphQL database across all Lux chains.
cmd/plugin command
Package identityvm implements the I-Chain: decentralized identifiers, the issuers the chain trusts, the credentials they issue, and the revocations that withdraw them.
Package identityvm implements the I-Chain: decentralized identifiers, the issuers the chain trusts, the credentials they issue, and the revocations that withdraw them.
cmd/plugin command
internal
bridgeattest
Package bridgeattest is the ONE canonical definition of the bridge-transfer attestation seam between B-Chain (bridgevm) and M-Chain (mpcvm).
Package bridgeattest is the ONE canonical definition of the bridge-transfer attestation seam between B-Chain (bridgevm) and M-Chain (mpcvm).
codec
Package codec speaks the JSON-RPC spelling this repo's VMs serve.
Package codec speaks the JSON-RPC spelling this repo's VMs serve.
warpmsg
Package warpmsg is the single, canonical place in chains that builds, signs, and wraps a single-signer Warp message.
Package warpmsg is the single, canonical place in chains that builds, signs, and wraps a single-signer Warp message.
Package keyvm implements the K-Chain: an AUTH-ONLY service VM for distributed key management.
Package keyvm implements the K-Chain: an AUTH-ONLY service VM for distributed key management.
cmd/plugin command
service.go carves the (currently single, overloaded) threshold VM into three orthogonal SERVICE surfaces — ThresholdService, MPCService, FHEService — per LP-1340 / LP-7050.
service.go carves the (currently single, overloaded) threshold VM into three orthogonal SERVICE surfaces — ThresholdService, MPCService, FHEService — per LP-1340 / LP-7050.
cert
Package cert provides the QuasarCertLane registration and certificate-subject binding logic shared by M-Chain and F-Chain.
Package cert provides the QuasarCertLane registration and certificate-subject binding logic shared by M-Chain and F-Chain.
cmd/plugin command
Command plugin serves the M-Chain VM to a Lux node.
Command plugin serves the M-Chain VM to a Lux node.
fhe
Package fhe provides GPU-accelerated FHE operations for ThresholdVM.
Package fhe provides GPU-accelerated FHE operations for ThresholdVM.
types
Package types defines the data types of the ThresholdVM substrate.
Package types defines the data types of the ThresholdVM substrate.
Package oraclevm is a thin re-export of the canonical O-Chain VM implementation in github.com/luxfi/oracle/vm.
Package oraclevm is a thin re-export of the canonical O-Chain VM implementation in github.com/luxfi/oracle/vm.
cmd/plugin command
Command plugin serves the O-Chain VM to a Lux node.
Command plugin serves the O-Chain VM to a Lux node.
Package ownership is the ONE canonical definition of the NFT-ownership entitlement seam: M-Chain (mpcvm) threshold-signs the fact that an address holds a specific token of a specific collection and has bound that token to a specific node; a node's chain manager verifies that signature before it activates an entitlement-gated chain.
Package ownership is the ONE canonical definition of the NFT-ownership entitlement seam: M-Chain (mpcvm) threshold-signs the fact that an address holds a specific token of a specific collection and has bound that token to a specific node; a node's chain manager verifies that signature before it activates an entitlement-gated chain.
cmd/plugin command
Package relayvm is a thin re-export of the canonical R-Chain VM implementation in github.com/luxfi/relay/vm.
Package relayvm is a thin re-export of the canonical R-Chain VM implementation in github.com/luxfi/relay/vm.
cmd/plugin command
Command plugin serves the R-Chain VM to a Lux node.
Command plugin serves the R-Chain VM to a Lux node.
allocate_auth.go — the cryptographic half of the leaderless pinned-writer gate.
allocate_auth.go — the cryptographic half of the leaderless pinned-writer gate.
cmd/plugin command
object
Package object wires the S3 OBJECT path to the S-Chain storage VM, proving the on-chain-metadata / off-chain-blob split end to end:
Package object wires the S3 OBJECT path to the S-Chain storage VM, proving the on-chain-metadata / off-chain-blob split end to end:
pinning
Package pinning is the deterministic single-writer assignment for the S-Chain storage VM.
Package pinning is the deterministic single-writer assignment for the S-Chain storage VM.
state
Package state manages persistent state for the S-Chain — the Lux storage VM.
Package state manages persistent state for the S-Chain — the Lux storage VM.
txs
Package txs defines the transaction surface for the S-Chain — the Lux STORAGE VM.
Package txs defines the transaction surface for the S-Chain — the Lux STORAGE VM.
thresholdvm module
cmd/plugin command
fhe
Package fhe provides GPU-accelerated FHE operations for the zkvm.
Package fhe provides GPU-accelerated FHE operations for the zkvm.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL