Lux Docs
Lux Skills Reference

Lux EVM

Unified Go EVM Execution Engine

Overview

Lux EVM (github.com/luxfi/evm) is the unified Go-based EVM execution engine for the Lux Network. It powers both the C-Chain (the primary EVM-compatible chain on the Lux primary network) and all Subnet/L1/L2 EVM chains. The former coreth codebase was merged into this repo -- github.com/luxfi/coreth is deprecated and no longer maintained separately.

The EVM runs as a plugin binary loaded by luxd (the Lux node). The binary is built from plugin/main.go and communicates with the node via the rpcchainvm gRPC interface. It is not a standalone process -- it requires luxd to operate.

Tech Stack

  • Language: Go 1.26.1
  • Module: github.com/luxfi/evm
  • Ethereum Fork: github.com/luxfi/geth v1.16.75 (NOT go-ethereum)
  • Consensus: Dummy engine (block ordering delegated to Quasar via luxd)
  • Database: BadgerDB (default), PebbleDB (legacy option)
  • State Sync: Merkle trie state sync with parallel fetching
  • Cross-Chain: LP-118 Warp messaging protocol
  • Precompiles: Stateful precompile framework with allow-list access control
  • Tracing: OpenTelemetry OTLP traces
  • Metrics: Prometheus-compatible
  • Build: go build or make (produces plugin binary evm / evm.so)

When to Use

  • Deploying or interacting with smart contracts on C-Chain or any Lux EVM subnet
  • Building custom stateful precompiles for EVM chains
  • Integrating with C-Chain via JSON-RPC or WebSocket
  • Cross-chain messaging between EVM chains using Warp
  • Running a custom Subnet-EVM with configurable fees, gas limits, and precompiles
  • Migrating from coreth to the unified EVM module

Hard Requirements

  1. ALWAYS use github.com/luxfi/evm -- NEVER github.com/luxfi/coreth (deprecated, merged here)
  2. ALWAYS use github.com/luxfi/geth -- NEVER go-ethereum or ethereum/go-ethereum
  3. ALWAYS use github.com/luxfi/precompile -- NEVER github.com/luxfi/precompiles (old, excluded in go.mod)
  4. NEVER bump Go packages above v1.x.x
  5. The EVM is a plugin binary, not a standalone executable -- it must be loaded by luxd
  6. CGO must be enabled for production builds (BLS signatures, GPU acceleration)

Quick Reference Table

ItemValue
Modulegithub.com/luxfi/evm
Go version1.26.1
C-Chain RPChttp://<node>:9630/ext/bc/C/rpc
C-Chain WebSocketws://<node>:9630/ext/bc/C/ws
C-Chain ID (mainnet)96369
C-Chain ID (testnet)96368
C-Chain ID (devnet)96370
Default Chain ID43112 (local/custom)
Block time target2 seconds
Gas limit8,000,000
Min base fee25 gwei (mainnet), 1 wei (test)
Database defaultBadgerDB
Plugin binaryevm / evm.so
Luxd compatv1.12.0 through v1.13.3 (protocol versions 38-42)
RPC gas cap50,000,000
RPC tx fee cap100 LUX

Migration from Coreth

All coreth imports become evm imports. The API is identical.

// OLD (deprecated):

// NEW (correct):

Two Operating Modes

C-Chain Mode (Primary Network)

The default mode when running as part of the Lux primary network:

  • Atomic transactions for cross-chain transfers between X-Chain and C-Chain via shared memory
  • Integrated validator set from P-Chain -- no separate staking
  • Network-defined hard forks (EVM, Durango, Etna, Fortuna, Granite)
  • Chain ID: 96369 (mainnet), 96368 (testnet), 96370 (devnet)
  • Warp address: Legacy 0x0200000000000000000000000000000000000005 (also accessible at 0x16201)

Subnet EVM Mode (L1/L2 Subnets)

When deployed as a subnet/L1/L2 chain:

  • Configurable fees via FeeManager precompile or genesis JSON
  • Configurable gas limits and block gas costs
  • Custom precompiles via the stateful precompile framework
  • No atomic transactions -- uses Warp messaging for cross-chain
  • Independent validator set per subnet
  • Simplified hardfork configuration

One-File Quickstart

EVM JSON-RPC

# Get latest block number
curl -X POST http://localhost:9630/ext/bc/C/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

# Get account balance
curl -X POST http://localhost:9630/ext/bc/C/rpc \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0x...","latest"]}'

# Send raw transaction
curl -X POST http://localhost:9630/ext/bc/C/rpc \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x..."]}'

# Get chain ID
curl -X POST http://localhost:9630/ext/bc/C/rpc \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

# Get fee config (Lux-specific)
curl -X POST http://localhost:9630/ext/bc/C/rpc \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_feeConfig","params":[]}'

Go Client


client, err := ethclient.Dial("http://localhost:9630/ext/bc/C/rpc")
if err != nil {
    return err
}

blockNum, _ := client.BlockNumber(ctx)
balance, _ := client.BalanceAt(ctx, addr, nil)
chainID, _ := client.ChainID(ctx)

Custom Precompile

    "github.com/luxfi/evm/precompile/contract"
    "github.com/luxfi/evm/precompile/modules"
    "github.com/luxfi/geth/common"
)

// Register a precompile module at a specific address
var Module = modules.Module{
    Address:      common.HexToAddress("0x0300000000000000000000000000000000000001"),
    Contract:     MyPrecompile,
    Configurer:   &MyConfigurator{},
}

// Use the precompile code generator for boilerplate:
// go run cmd/precompilegen/main.go --abi MyContract.abi --out precompile/contracts/mycontract/

Core Concepts

Architecture

github.com/luxfi/evm
├── plugin/              -- Plugin entry point and VM implementation
│   ├── main.go          -- Binary entry point (loaded by luxd)
│   ├── runner/          -- Plugin runner (gRPC server lifecycle)
│   └── evm/             -- Core VM implementation
│       ├── vm.go        -- Main VM struct (Initialize, BuildBlock, Verify, Accept)
│       ├── block.go     -- Block construction and verification
│       ├── block_builder.go  -- Async block building engine
│       ├── config/      -- VM configuration (Config struct, defaults)
│       ├── service.go   -- Validators API (gRPC service)
│       ├── admin.go     -- Admin API (CPU profiler, logging)
│       ├── admin_api.go -- Admin API (import chain, db operations)
│       ├── gossip/      -- Transaction gossip handlers
│       ├── message/     -- P2P message types
│       ├── header/      -- Custom header verification
│       ├── customtypes/ -- Block extra data types
│       ├── customrawdb/ -- Raw database operations
│       ├── validators/  -- Validator management
│       └── upgrade/     -- EVM-specific upgrade handling
├── core/                -- Core blockchain logic (forked from geth)
│   ├── blockchain.go    -- Blockchain state machine
│   ├── state_processor.go   -- Transaction execution
│   ├── state_transition.go  -- EVM state transitions
│   ├── genesis.go       -- Genesis block initialization
│   ├── txpool/          -- Transaction pool management
│   ├── state/           -- State database (StateDB)
│   ├── vm/runtime/      -- EVM runtime
│   └── precompile_overrider.go -- Precompile injection into EVM
├── consensus/           -- Consensus engine interface
│   ├── consensus.go     -- Engine interface (ChainHeaderReader, Engine)
│   └── dummy/           -- Dummy engine (delegates ordering to luxd)
├── eth/                 -- Ethereum protocol implementation
│   ├── backend.go       -- ETH backend (chain access, filters, gas price)
│   ├── api_backend.go   -- API backend for eth_* namespace
│   ├── api_debug.go     -- Debug API (tracing, stack dumps)
│   ├── api_admin.go     -- Admin API (export chain)
│   ├── api_dev.go       -- Dev API (mine blocks on demand)
│   ├── ethconfig/       -- ETH configuration
│   ├── filters/         -- Log/block/tx filters
│   ├── gasprice/        -- Gas price oracle
│   ├── gasestimator/    -- Gas estimation
│   └── tracers/         -- EVM execution tracers (JS, native)
├── precompile/          -- Stateful precompile framework
│   ├── contracts/       -- Built-in precompile implementations
│   │   ├── deployerallowlist/  -- Contract deployer allow list (0x10201)
│   │   ├── txallowlist/        -- Transaction sender allow list (0x10301)
│   │   ├── nativeminter/       -- Native token minting (0x10401)
│   │   ├── feemanager/         -- Dynamic fee configuration (0x13F01)
│   │   ├── rewardmanager/      -- Block reward distribution (0x10205)
│   │   └── warp/               -- Warp cross-chain messaging (0x16201)
│   ├── allowlist/       -- Role-based access control framework
│   ├── contract/        -- Precompile contract interface
│   ├── modules/         -- Module registration and LP-aligned addressing
│   ├── precompileconfig/ -- Config interfaces
│   ├── precompiletest/  -- Test utilities
│   └── registry/        -- Auto-registration via init()
├── params/              -- Chain configuration and parameters
│   ├── config.go        -- ChainConfig (EVM forks, chain IDs)
│   └── extras/          -- Lux-specific extensions
│       ├── config.go          -- FeeConfig, NetworkUpgrades, GenesisPrecompiles
│       ├── network_upgrades.go -- EVM/Durango/Etna/Fortuna/Granite timestamps
│       ├── precompiles.go     -- Precompile configuration
│       ├── rules.go           -- Chain rules per block
│       └── state_upgrade.go   -- State upgrade definitions
├── commontype/          -- Shared types (FeeConfig)
├── ethclient/           -- Go Ethereum client (standard ethclient API)
├── accounts/            -- Account management
├── contracts/           -- Solidity contracts and Hardhat project
│   └── contracts/       -- Precompile Solidity interfaces
│       ├── AllowList.sol
│       ├── ERC20NativeMinter.sol
│       ├── ExampleFeeManager.sol
│       ├── ExampleRewardManager.sol
│       ├── ExampleWarp.sol
│       ├── FeeGovernor.sol
│       └── interfaces/  -- IAllowList, IFeeManager, INativeMinter, IRewardManager, IWarpMessenger
├── miner/               -- Block mining/building
├── node/                -- Ethereum node stack (P2P disabled in Lux)
├── network/             -- Transaction gossip network
├── rpc/                 -- JSON-RPC server framework
├── sync/                -- State sync (client/server)
│   ├── client/          -- State trie fetching from peers
│   └── statesync/       -- State sync server
├── warp/                -- Warp messaging (aggregator, signer, verifier)
│   ├── aggregator.go    -- Collects BLS signatures from validators
│   ├── backend.go       -- Warp backend (message storage)
│   ├── client.go        -- Warp client for querying signatures
│   ├── service.go       -- Warp RPC service
│   └── validators/      -- Validator set for Warp verification
├── cmd/                 -- CLI tools
│   ├── abigen/          -- ABI binding generator
│   ├── evm/             -- EVM execution tool
│   ├── simulator/       -- Local network simulator
│   ├── precompilegen/   -- Precompile code generator
│   ├── export/          -- Chain export tool
│   └── utils/           -- CLI utilities
└── interfaces/          -- Shared interface definitions

Consensus Engine

The EVM uses a DummyEngine (consensus/dummy/) that does not perform block ordering or leader election. Instead:

  1. luxd drives consensus via the Quasar hybrid finality engine
  2. The DummyEngine validates block headers (timestamp ordering, gas limits, fee calculations)
  3. Block production is triggered by luxd calling BuildBlock() on the VM
  4. The DummyEngine's Finalize applies block rewards per RewardManager configuration

Key interfaces defined in consensus/consensus.go:

  • ChainHeaderReader: Access chain config, headers, fee config, coinbase
  • ChainReader: Extends header reader with full block access
  • Engine: Author, VerifyHeader, VerifyUncles, Prepare, Finalize, FinalizeAndAssemble, CalcDifficulty, Close

Network Upgrades (Fork Order)

Timestamp-based fork activation in params/extras/network_upgrades.go:

ForkEth EquivalentNotes
EVMPre-ShanghaiAlways active at genesis (timestamp 0)
DurangoShanghaiWarp messaging, EIP-3651/3855/3860/6049 (EIP-4895 excluded)
EtnaCancunEIP-4844 blob schedule configuration required
Fortuna--Lux-specific, no direct EVM effect
Granite--Placeholder for next scheduled upgrade

Built-in Stateful Precompiles

Registered via init() in precompile/registry/ and activated through genesis or upgrade configuration.

AddressPackageConfig KeyPurpose
0x10201deployerallowlistcontractDeployerAllowListConfigControls which addresses can deploy contracts
0x10205rewardmanagerrewardManagerConfigConfigures block reward distribution
0x10301txallowlisttxAllowListConfigControls which addresses can submit transactions
0x10401nativemintercontractNativeMinterConfigMints native tokens to specified addresses
0x13F01feemanagerfeeManagerConfigDynamically adjusts fee parameters
0x16201warpwarpConfigCross-chain messaging (send/receive Warp messages)

All precompiles use the AllowList access control pattern with roles:

  • Admin: Can grant/revoke roles and call all functions
  • Manager: Can call privileged functions but cannot manage roles
  • Enabled: Can call basic functions
  • None: No access to privileged functions

External Precompiles (github.com/luxfi/precompile@v0.4.6)

Registered via modules.RegisterModule() in precompile/registry/registry.go.

Post-Quantum Cryptography (NIST PQC)

AddressPackageStandard
0x0200...0006mldsaML-DSA signature verification (FIPS 204)
0x0200...0007mlkemML-KEM key encapsulation (FIPS 203)
0x0200...000BringtailRing-LWE threshold lattice (post-quantum)
0x0600...0001slhdsaSLH-DSA stateless hash signatures (FIPS 205)
0x9003pqcryptoUnified PQ crypto operations

Privacy/Encryption

AddressPackagePurpose
0x0700...0000fheFully Homomorphic Encryption (TFHE)
0x0700...0001fhe (ACL)FHE access control list
0x0700...0002fhe (InputVerifier)FHE input verification
0x0700...0003fhe (Gateway)FHE gateway contract
0x9200hpkeHybrid Public Key Encryption
0x9201eciesElliptic Curve Integrated Encryption
0x9202ringRing signatures (anonymity)

Zero-Knowledge Proofs

AddressPackagePurpose
0x0900...0000zkZK proof verification (primary)
0x0900...0001zk (Groth16)Groth16 proof verifier
0x0900...0002zk (PLONK)PLONK proof verifier
0x0900...0003zk (fflonk)fflonk proof verifier
0x0900...0004zk (Halo2)Halo2 proof verifier
0x0900...0010zk (KZG)KZG commitment verifier
0x0900...0020zk (PrivacyPool)Privacy pool operations
0x0900...0021zk (Nullifier)Nullifier tracking

DEX: QuantumSwap Native DEX (LP-9xxx)

AddressNamePurpose
0x0...9010LXPoolSingleton AMM pool manager (Uniswap v4 style)
0x0...9011LXOracleMulti-source price aggregation
0x0...9012LXRouterSwap routing
0x0...9013LXHooksHook contract registry
0x0...9014LXFlashFlash loan facility
0x0...9020LXBookCentral limit order book (CLOB)
0x0...9030LXVaultCustody and margin
0x0...9040LXFeedComputed price feeds
0x0...9050LXLendLending pool

Precompile Solidity Interfaces

Located in contracts/contracts/interfaces/:

// IAllowList.sol -- base for all precompiles with access control
interface IAllowList {
    function readAllowList(address addr) external view returns (uint256);
    function setAdmin(address addr) external;
    function setManager(address addr) external;
    function setEnabled(address addr) external;
    function setNone(address addr) external;
}

// IFeeManager.sol -- dynamic fee configuration
interface IFeeManager is IAllowList {
    function getFeeConfig() external view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256);
    function getFeeConfigLastChangedAt() external view returns (uint256);
    function setFeeConfig(uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256) external;
}

// INativeMinter.sol -- native token minting
interface INativeMinter is IAllowList {
    function mintNativeCoin(address addr, uint256 amount) external;
}

// IWarpMessenger.sol -- cross-chain messaging
interface IWarpMessenger {
    function sendWarpMessage(bytes calldata payload) external returns (bytes32);
    function getVerifiedWarpMessage(uint32 index) external view returns (WarpMessage memory, bool);
    function getVerifiedWarpBlockHash(uint32 index) external view returns (WarpBlockHash memory, bool);
    function getBlockchainID() external view returns (bytes32);
}

Fee Configuration

The dynamic fee algorithm adjusts base fees based on network utilization:

ParameterDefault (Mainnet)Default (Test)Description
GasLimit8,000,0008,000,000Maximum gas per block
TargetBlockRate2 seconds2 secondsTarget block production rate
MinBaseFee25 gwei1 weiFloor for EIP-1559 base fee
TargetGas15,000,00015,000,000Target gas consumption per 10s window
BaseFeeChangeDenominator3636Controls base fee adjustment speed
MinBlockGasCost00Minimum block gas cost
MaxBlockGasCost1,000,0001,000,000Maximum block gas cost
BlockGasCostStep200,000200,000Block gas cost adjustment step

State Sync

Fast state sync for new nodes joining the network:

  • Client (sync/client/): Fetches state trie from peers in parallel
  • Server (sync/statesync/): Serves state trie data to syncing peers
  • Threshold: Activates when the chain is 300,000+ blocks ahead of local state
  • Request size: 1024 key/value pairs per peer request

Warp Messaging

Cross-chain communication via LP-118 Warp protocol (warp/):

  • Aggregator (aggregator.go): Collects BLS signatures from validators for message attestation
  • Signer (signer_adapter.go): Signs outgoing Warp messages
  • Verifier (verifier_backend.go): Validates incoming Warp messages against validator signatures
  • Contract: The Warp precompile at 0x16201 provides sendWarpMessage() and getVerifiedWarpMessage()
  • Legacy address: 0x0200000000000000000000000000000000000005 (C-Chain backward compat)

API Namespaces

NamespaceDefaultPurpose
ethEnabledStandard Ethereum JSON-RPC (blocks, txs, receipts, logs)
eth-filterEnabledLog and block filter subscriptions
netEnabledNetwork info (version, peer count)
web3EnabledClient version, SHA3
internal-ethEnabledInternal Ethereum APIs
internal-blockchainEnabledInternal blockchain APIs
internal-transactionEnabledInternal transaction APIs
debugDisabledTracing, stack dumps, memory stats
adminEnabledImport/export chain, CPU profiling
personalDisabledAccount management (sign, unlock)
txpoolDisabledTransaction pool inspection

Lux-Specific API Endpoints

POST /ext/bc/C/rpc          -- Standard EVM JSON-RPC
WS   /ext/bc/C/ws           -- WebSocket subscriptions
POST /ext/bc/C/lux          -- Lux-specific APIs (validators)
POST /ext/bc/C/admin        -- Admin APIs (import/export, profiling)

Key Dependencies (go.mod verified)

PackageVersionPurpose
github.com/luxfi/gethv1.16.75Go Ethereum fork (core EVM, types, RLP, trie)
github.com/luxfi/consensusv1.22.67Quasar consensus engine integration
github.com/luxfi/cryptov1.17.40BLS, secp256k1, ML-KEM, ML-DSA
github.com/luxfi/databasev1.17.43Storage layer (BadgerDB, PebbleDB, VersionDB)
github.com/luxfi/precompilev0.4.6External precompile registry
github.com/luxfi/warpv1.18.5Cross-chain Warp messaging
github.com/luxfi/p2pv1.19.2-zapZAP P2P transport for gossip
github.com/luxfi/vmv1.0.39VM interface (ChainVM)
github.com/luxfi/fhev1.7.6FHE coprocessor support (TFHE)
github.com/luxfi/nodev1.23.4Node integration (version, constants)
github.com/luxfi/idsv1.2.9ID types (BlockID, TxID, ChainID)
github.com/luxfi/lattice/v7v7.0.0Post-quantum lattice cryptography
github.com/luxfi/logv1.4.1Structured logging
github.com/luxfi/upgradev1.0.0Upgrade activation management

CLI Tools

ToolPathPurpose
abigencmd/abigen/Generate Go bindings from Solidity ABI
evmcmd/evm/Standalone EVM execution and testing
precompilegencmd/precompilegen/Generate precompile boilerplate from ABI
simulatorcmd/simulator/Local network simulator for testing
exportcmd/export/Export chain data

Configuration

VM Configuration (JSON)

Passed via chain config in luxd:

{
  "pruning-enabled": true,
  "commit-interval": 4096,
  "trie-clean-cache": 512,
  "trie-dirty-cache": 512,
  "snapshot-cache": 256,
  "rpc-gas-cap": 50000000,
  "rpc-tx-fee-cap": 100,
  "metrics-expensive-enabled": true,
  "admin-api-enabled": true,
  "validator-api-enabled": true,
  "enabled-eth-apis": ["eth", "eth-filter", "net", "web3", "internal-eth", "internal-blockchain", "internal-transaction"],
  "log-level": "info",
  "db-type": "badgerdb",
  "state-sync-min-blocks": 300000,
  "state-sync-request-size": 1024,
  "batch-request-limit": 1000,
  "batch-response-max-size": 25000000
}

Genesis Configuration

{
  "config": {
    "chainId": 96369,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "muirGlacierBlock": 0,
    "berlinBlock": 0,
    "londonBlock": 0,
    "shanghaiTime": 0,
    "cancunTime": 0,
    "feeConfig": {
      "gasLimit": 8000000,
      "targetBlockRate": 2,
      "minBaseFee": 25000000000,
      "targetGas": 15000000,
      "baseFeeChangeDenominator": 36,
      "minBlockGasCost": 0,
      "maxBlockGasCost": 1000000,
      "blockGasCostStep": 200000
    },
    "contractDeployerAllowListConfig": {
      "adminAddresses": ["0x..."]
    }
  },
  "alloc": {
    "0x...": { "balance": "0x..." }
  }
}

Block Format Differences from Ethereum

  • BaseFee: Present (EIP-1559)
  • BlockGasCost: Surcharge for producing a block faster than the target rate (Lux-specific)
  • No uncle/ommer blocks (Lux consensus does not produce forks)
  • No difficulty (Quasar finality engine replaces PoW)

Compatibility

Compatible with standard Ethereum tooling: Remix, MetaMask, Foundry, Hardhat, ethers.js, web3.js, viem.

Building

cd ~/work/lux/evm

# Build plugin binary
go build -o evm ./plugin/

# Build with race detector (development)
go build -race -o evm ./plugin/

# Run tests
go test ./...

# Run specific package tests
go test ./core/... -v
go test ./precompile/... -v

# Generate precompile from ABI
go run cmd/precompilegen/main.go --abi path/to/Contract.abi --out precompile/contracts/mycontract/

# Generate ABI bindings
go run cmd/abigen/main.go --abi path/to/Contract.abi --pkg mypackage --out bindings.go

# Run Hardhat tests for Solidity precompile interfaces
cd contracts && npx hardhat test

Troubleshooting

ProblemCauseFix
import "github.com/luxfi/coreth" failsDeprecated moduleChange to github.com/luxfi/evm
import "go-ethereum" failsWrong forkUse github.com/luxfi/geth
Plugin crashes on startupWrong luxd versionCheck compat matrix (v1.12.0-v1.13.3)
State sync not startingChain not far enough behindMust be 300,000+ blocks behind
unauthorized on precompile callMissing AllowList roleAdd address as Admin/Enabled via genesis
High base feeNetwork congestionAdjust FeeConfig via FeeManager precompile
insufficient gas errorsGas limit too lowIncrease GasLimit in FeeConfig
Transaction pool fullToo many pending txsIncrease pool limits or raise gas price
Warp message not verifiedInsufficient validator sigsNeed 67%+ of validator weight
EVM fork block timestamp errorGenesis upgrade mismatchEnsure upgrade timestamps are consistent
github.com/luxfi/precompiles errorOld excluded moduleUse github.com/luxfi/precompile (singular)
  • lux/lux-node.md -- Core node that loads and runs the EVM plugin
  • lux/lux-chains.md -- All chain types in the Lux multi-chain architecture
  • lux/lux-dex.md -- QuantumSwap DEX engine integrated via precompiles
  • lux/lux-precompile.md -- Precompile development guide
  • lux/lux-fhe.md -- FHE coprocessor integration
  • lux/lux-warp.md -- Cross-chain Warp messaging protocol
  • lux/lux-bridge.md -- Cross-chain bridging to/from C-Chain
  • lux/lux-sdk.md -- Go SDK for interacting with the EVM

On this page