Renames LUX_-prefixed env vars to their canonical, non-noisy forms:
- LUX_RLP_PATH -> RLP_PATH (test override for the RLP fixture path)
- LUX_VERSION -> LUXD_VERSION (the luxd version being downloaded/cloned)
- LUX_PLUGIN_DIR -> PLUGIN_DIR (the lux plugin install dir, ~/.lux/plugins)
LUX_VERSION had two callers: shell scripts treating it as the luxd
version, and install_luxd_release.sh that already aliased
'LUXD_VERSION=${LUXD_VERSION:-${LUX_VERSION#v}}' on read. Collapse this
to a single canonical name (LUXD_VERSION) and a one-liner v-prefix
strip; no more aliasing.
LUX_PLUGIN_DIR points at ~/.lux/plugins on disk — the path is unchanged,
only the env var name. INSTALL=1 ./scripts/build.sh continues to work,
just driven from $PLUGIN_DIR.
Note: the historical README mention of LUX_VM_RUNTIME_ENGINE_ADDR /
LUX_VM_TRANSPORT (legacy luxfi/vm <= v1.1.0 names) is left in place
because it documents past behavior, per task convention for CHANGELOG/
historical docs.
BREAKING: external callers (CI, dev scripts, operators) must update
env var names. Per CLAUDE.md no-backwards-compatibility rule, the old
forms are removed.
- cmd/vmid prints constants.EVMID — Go source of truth for the C-Chain VM
ID. Build scripts and Makefile now call this instead of hardcoding the
base58 string. Drops a stale subnet-evm ID (ag3GReYP…) from the Makefile.
- scripts/build.sh: default output is build/evm; INSTALL=1 installs under
the derived VMID at \$LUX_PLUGIN_DIR. Codesigns on darwin in-line so a
fresh binary doesn't get SIGKILLed by gatekeeper post-cp.
- core/parallel/gpu_bridge.go: build tag flipped from \`!nogpu\` (opt-out)
to \`gpu\` (opt-in) so default builds don't drag in luxfi/gpu cgo.
- go.mod: luxfi/gpu v0.30.0 → v1.0.1. v0.30.0 referenced removed MLX
symbols (mlx_from_slice_int64 etc.); v1.0.1 migrated to lux/gpu.h and
builds cleanly with -tags gpu and -tags \"cevm gpu\".
- LLM.md: build commands updated; \"no canonical / no aliases\" reflects
reality (single VMID, one filename, derived from Go).
Lux uses 'Lux EVM' (the canonical luxfi/evm plugin) for both C-Chain
and EVM-based L2 chains. The upstream 'subnet-evm' / 'Subnet-EVM' brand
was a separate codebase we don't use anymore.
Removed legacy 'srEXi…' (upstream Subnet-EVM ID) — Lux uses one canonical
EVM VM ID for both C-Chain and EVM-based subnets per luxfi/constants.EVMID.
Plugin filename is mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6 only;
no dual install, no aliases.
- Change Go version from 1.24.6 to 1.22.8 (stable version)
- Ensure all build scripts have executable permissions
- Fix covdata issue by using stable Go version
- CI should now pass all checks
- Changed LUXD_IMAGE_NAME from avaplatform/luxd to luxfi/node
- Updated comments to reflect correct image names
- This fixes Docker build failures in CI
- Updated Initialize signature to match block.ChainVM interface
- Added chainCtx field to store chain context (interfaces.Runtime)
- Fixed DBManager usage with Current() method
- Added ParseBlock wrapper to return correct block.Block type
- Fixed AppSender type conversion for network initialization
- Updated constants.sh to use luxfi/node instead of luxd
- Store toEngine channel for consensus message passing
This fixes the compilation errors and aligns with the new consensus interfaces.
A recent failure of post-merge image build suggested the need for a
pre-merge sanity check to avoid unintentionally merging changes that
break the image build.
* Update to use default plugin dir ($HOME/.avalanchego/plugins)
This has been the default for avalanchego since v1.9.6.
* fixup: Update dockerfile to copy the original rather than the symlink
* remove plugin paths
Signed-off-by: Ceyhun Onur <[email protected]>
---------
Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
* refactor docker yml and scripts
* enable pr for test
* fix path
* fix path
* rename img id
* try simpler name
* use -a
* test tag
* remove test steps
* remove avalanchego from image id
* Remove specified git version to avoid downgrades breaking docker build
* Add build docker image to unit test action
* Update to use current branch instead of commit for docker image build
* Update docker image script to push image if env var is set
* Add new line to build image script
* Update scripts/constants.sh
Co-authored-by: Sam Batschelet <[email protected]>
* Update docker login
* Update build image action
* Update gh action
* checkout for docker image build
* Set build image ID in gh action with github.ref_name
* Separate CI and release
* remove extra copy
* Update name
* Update variable used in build image id
* Update set var
* Update dockerhub repo
* Revert dockerhub repo name chnge and use Subnet-EVM in tag name
---------
Co-authored-by: Sam Batschelet <[email protected]>
* Simplify e2e tests
* Add TODOs
* WIP
* Replace GetSubnetIDF
* Bump avalanchego to v1.9.6-rc.0
* Working on tests
* Light client mode to unlock dynamic state sync
* revert version to pass ci (?)
* fix simulator go.mod
* Set env variable using os setenv
* Needed renames to run all solidity precompile tests
* Cleanup
* E2E test GH Action
* Remove simualtor from GH Actions
* Re-add simulator to GH Actions
* nits
* Modify run script to support running a network and running simulator
* Fix GH Actions file
* Bump avalanchego to v1.9.6-rc.2
* go mod tidy
* Fix run script
* Reduce ctx timeout for starting new subnet to 15s
* Set data dir from github action
* Update run script
* Create separate load test for ginkgo
* Refactor scripts
* Fix up env variables in run single node script
* WIP
* Add install_cli.sh script
* Create 1 script to start a non-staking network of nodes in a subshell
* Fix run script to run 5 node non-staking network and add simple load script
* Fix load test
* go mod update to ago v1.9.7
* Fix allowed geth imports for simulator
* Populate constants to fix blst warning
* load constants in run ginkgo
* Update run simulator name check
* Update data dir
* Add plugin dir env variable
* Update github action and env var used in install avago script
* Filter out both precompile and load test from unit test script
* Add comment about skipping load test in unit test script
* Fix lint geth allowed pkgs
* Address nits
* Remove unused DATA_DIRs var from run script
* Add TODO to update run script to allow running N nodes instead of just one
* Update READMEs
* Break down simulator
* Cleanup
* Update cmd/simulator/README.md
* Update cmd/simulator/README.md
* Update cmd/simulator/README.md
* Update contract-examples/README.md
* Address review comments
* Address PR comments