73 Commits
Author SHA1 Message Date
z ba63875318 docs(brand): add hero banner 2026-06-28 20:38:05 -07:00
z c9615016d0 chore(brand): dynamic hero banner 2026-06-28 20:38:03 -07:00
zandGitHub 47f38d43c2 Merge pull request #21 from luxfi/dependabot/go_modules/github.com/btcsuite/btcd-0.25.0
build(deps): bump github.com/btcsuite/btcd from 0.24.2 to 0.25.0
2026-01-28 09:31:41 -08:00
zandGitHub 2fa3cf5262 Merge pull request #24 from luxfi/dependabot/go_modules/github.com/onsi/ginkgo/v2-2.27.5
build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5
2026-01-28 09:31:36 -08:00
zandGitHub 15d4ca6b23 Merge pull request #25 from luxfi/dependabot/go_modules/github.com/grpc-ecosystem/grpc-gateway/v2-2.27.5
build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.4 to 2.27.5
2026-01-28 09:31:33 -08:00
zandGitHub 96236562f9 Merge pull request #26 from luxfi/dependabot/go_modules/github.com/luxfi/geth-1.16.75
build(deps): bump github.com/luxfi/geth from 1.16.73 to 1.16.75
2026-01-28 09:31:28 -08:00
Zach Kelling fab2d8d999 chore: update go.mod dependencies 2026-01-21 20:10:10 -08:00
Zach Kelling 082a731a9a chore: update all deps to latest (node v1.22.88, vm v1.0.20, database v1.17.39) 2026-01-20 00:17:19 -08:00
Zach Kelling 2157b410c6 Improve genesis loading and snapshot management
- Enhance genesis.go with LoadCanonicalGenesis for mainnet/testnet
- Add LoadGenesisForNetwork to load from external paths
- Improve snapshot.go with better incremental backup support
- Fix network ID handling in genesis_config.go (use constants.MainnetID not ChainID)
- Update API client interfaces for better type safety
- Fix server network handling for proper genesis selection
- Update dependencies to latest versions
2026-01-20 00:03:35 -08:00
Zach Kelling 160e25c144 fix build 2026-01-14 19:56:11 -08:00
Zach Kelling deae88ca44 chore: update all deps to latest clean versions 2026-01-09 01:26:07 -08:00
Zach Kelling 907b6ccb12 refactor: update all imports from node/vms to vm/vms 2026-01-09 00:03:50 -08:00
Zach Kelling cd6ad67723 refactor: update to external packages, remove node dependency 2026-01-08 23:51:55 -08:00
Zach Kelling 1013ead275 Update constants package 2026-01-08 20:38:49 -08:00
Zach Kelling e53011719c fix: rename TLS key files to luxtls.key/crt
- Rename staking.key -> luxtls.key in embedded configs
- Rename staking.crt -> luxtls.crt in embedded configs
- Update imports to github.com/luxfi/constants
2026-01-08 19:35:37 -08:00
Zach Kelling 409c101a15 chore: remove replace directive for genesis
Remove local replace directive for github.com/luxfi/genesis.
This package now uses proper tagged versions from GitHub instead of local paths.

This enables reproducible builds and clean CI/CD pipelines.
2026-01-06 15:36:55 -08:00
Zach Kelling 30605d3406 Add new flags, profile support, updated genesis 2026-01-06 11:52:14 -08:00
Zach Kelling 4e2a4e432e chore: remove local replace directives and update dependencies
- Update github.com/luxfi/keys v1.0.5 → v1.0.6
- Update github.com/luxfi/genesis v1.5.18 → v1.5.19
- Remove local replace directives for keys and genesis
- Use published package versions for reproducible builds
2026-01-03 07:05:17 -08:00
Zach Kelling 5d4bdf3368 build: CGO_ENABLED=1 default for C++/GPU backends
- CGO_ENABLED?=1 allows C++/GPU acceleration by default
- Allow CGO_ENABLED=0 override for pure Go builds
2026-01-03 06:55:59 -08:00
Zach Kelling 50ce2380fe chore: add devnet config, improve network handling
- Add NewDevnetConfigFromMnemonic for devnet configuration
- Improve network server subnet handling
2025-12-30 07:18:45 -08:00
Zach Kelling 8252ac5a40 chore: migrate to stdlib maps, remove unused imports
- Replace golang.org/x/exp/maps with stdlib maps (Go 1.21+)
- Remove unused slices imports from network/config.go and local/genesis_config.go
2025-12-29 20:30:26 -08:00
Zach Kelling 8d8f92606e chore(deps): update node to v1.22.75 2025-12-29 17:15:50 -08:00
Zach Kelling e002504d60 chore(deps): remove local replaces, update to latest packages
- Remove all local replace directives (genesis, sdk, keys, node)
- Update luxfi/node v1.22.72 -> v1.22.74
- Update luxfi/genesis v1.5.16 -> v1.5.17
- Update luxfi/keys v1.0.3 -> v1.0.5
- Update luxfi/geth v1.16.64 -> v1.16.66
- Update luxfi/log v1.1.26 -> v1.2.1
- Eliminates luxfi/constants dependency (replaced by luxfi/const v1.4.0)
2025-12-29 16:26:29 -08:00
Zach Kelling 6e8fb5d409 chore: update VERSION to 1.15.0 and fix build script
- Update VERSION file from 1.14.33 to 1.15.0
- Add Commit and BuildDate to ldflags in build script
- Version now shows: 1.15.0 (commit: xxx, built: timestamp)
2025-12-29 15:39:52 -08:00
Zach Kelling 94b4fccdfb fix: complete variable shadowing fix in e2e tests
Fix remaining instances where log package was passed instead of logger:
- client.New(..., log) -> client.New(..., logger)
- VerifySubnetHasCorrectParticipants(log, ...) at lines 267, 353, 906
2025-12-29 15:31:45 -08:00
Zach Kelling e74963cca4 refactor: clean up CLI and fix e2e tests
- Remove duplicate cmd files (start.go, multinet.go, engine.go)
  that bypassed server/control architecture and contained AI slop
- Fix e2e_test.go variable shadowing (log -> logger)
- Fix metric.NewRegistry() package reference
- Remove unused prometheus import
- CLI now cleanly provides: server, control, ping commands
- Update dependencies to github.com/luxfi/const v1.4.0
2025-12-29 15:10:32 -08:00
Zach Kelling a9be674900 chore: update to github.com/luxfi/const v1.4.0
Rename dependency from luxfi/constants to luxfi/const for brevity.
2025-12-29 14:09:07 -08:00
Zach Kelling 7a0bea43c9 deps: update node to v1.22.71, crypto to v1.17.27
- Update luxfi/node from v1.22.70 to v1.22.71
- Update luxfi/crypto from v1.17.26 to v1.17.27
2025-12-29 11:15:28 -08:00
Zach Kelling cd0dd2fccc fix: correct network ID usage and remove HID conflicts
- Remove ledger-lux-go transitive dependency
- Fix Network ID vs Chain ID confusion in genesis_config.go
- Use constants.MainnetID/TestnetID instead of configs.ChainID
- Fix port base calculation for multi-network mode
- Add snapshot server functionality
- Update protobuf definitions with new RPC methods
- Add mnemonic test coverage
2025-12-29 10:07:43 -08:00
Zach Kelling ac91b3c853 docs: add LLM.md for AI assistant documentation 2025-12-24 18:10:52 -08:00
Zach Kelling 37c9881d7a feat: improve blockchain deployment and network handling
- Fix chain validator addition for testnet/mainnet networks
- Add better error handling for CreateChains
- Improve network state tracking for multi-network support
- Fix server shutdown to properly clean up network resources
2025-12-24 12:54:59 -08:00
Zach Kelling 00a82bb8e2 Update example 2025-12-23 19:04:33 -08:00
Zach Kelling fa4f6450a5 feat: add multi-network support for mainnet/testnet
- Add testnet example alongside mainnet example
- Update server/network.go to properly handle network IDs
- Fix genesis config loading for different network types
- Support concurrent mainnet (port 9630) and testnet (port 9640)
- Add multi-network architecture documentation
2025-12-23 17:15:00 -08:00
Zach Kelling a6f652d094 deps: upgrade to warp v1.18.0
Upgrade warp to v1.18.0 which consolidates warp-specific types
from lp118 into the warp package directly.

RIP lp118 🪦
2025-12-23 10:32:48 -08:00
Zach Kelling 49dbc8f929 deps: upgrade node to v1.22.59, p2p to v1.5.0
Update dependencies to use the consolidated p2p package where
all p2p code is now in the external github.com/luxfi/p2p package
instead of the internal node/network/p2p.
2025-12-23 10:02:53 -08:00
Zach Kelling ec09524375 refactor: migrate from zap to luxfi/log, remove local replace directives
- Replace all direct go.uber.org/zap imports with github.com/luxfi/log
- Rename log variables to logger throughout codebase to avoid shadowing
  the log package when using package-level functions like log.String, log.Err
- Remove local replace directives from go.mod (genesis, config)
- Bump version to 1.6.1
2025-12-22 12:39:05 -08:00
Zach Kelling 03de0bc797 fix: add Windows support for filesystem sync operations 2025-12-22 07:56:54 -08:00
Zach Kelling 6030d8c010 fix: remove local replace directive
Removes accidental local replace directive for genesis
2025-12-22 07:16:44 -08:00
Zach Kelling e68d3ca54a deps: upgrade keys to v1.0.3, node to v1.22.45
- keys v1.0.3 and node v1.22.45 with NewCertAndKeyBytesFromKey
2025-12-22 07:14:08 -08:00
Zach Kelling 8361f28dc2 deps: upgrade keys to v1.0.2
- keys v1.0.2 with node v1.22.44 (NewCertAndKeyBytesFromKey)
2025-12-22 07:07:33 -08:00
Zach Kelling a8414c5cb1 deps: upgrade keys to v1.0.1
- keys v1.0.1 adds DeriveValidatorsFromMnemonic and DeriveValidatorFromMnemonic
2025-12-22 07:01:10 -08:00
Zach Kelling 36569598b4 deps: upgrade constants to v1.2.5 2025-12-22 06:27:12 -08:00
Zach Kelling facf820d95 deps: update to Go 1.25.5
Update go.mod and CI to Go 1.25.5.
2025-12-22 06:19:13 -08:00
Zach Kelling 413af4dfd9 ci: downgrade to Go 1.23.5 for compatibility 2025-12-22 06:13:41 -08:00
Zach Kelling a6a6b2fbca deps: upgrade genesis to v1.5.10
Fix CI build failures by using latest genesis package with all required exports.
2025-12-22 06:08:35 -08:00
Zach Kelling d4f6811dfc ci: upgrade Go version to 1.25.5
Update from outdated Go 1.19 to latest 1.25.5.
2025-12-22 06:03:29 -08:00
Zach Kelling 63c660b2a7 fix: use reassignPortsIfUsed=true in test to avoid port conflicts 2025-12-22 05:58:34 -08:00
Zach Kelling 6edf405934 refactor: use constants for network/chain IDs, fix paths
- cmd/multinet.go: Use constants.MainnetID (1), TestnetID (2), etc.
- cmd/start.go: Use constants, add devnet support
- All data dirs now use ~/.lux/networks/ instead of /tmp/
- Network IDs (P-Chain): 1, 2, 3, 1337
- Chain IDs (C-Chain EVM): 96369, 96368, 96370, 1337
2025-12-22 05:42:02 -08:00
Zach Kelling 35f02edd25 Update logging, examples 2025-12-22 05:07:52 -08:00
Zach Kelling 40e2bbf737 chore(deps): upgrade node to v1.22.44 2025-12-22 04:25:15 -08:00
Zach Kelling b711fb7732 chore: remove subnet deployment command
Removes unused deploy_subnet.go and its reference from root.go
2025-12-21 18:28:11 -08:00
Zach Kelling 2e84d0db8d chore: remove local replace directives, update deps 2025-12-21 17:02:43 -08:00
Zach Kelling ce09e0388e chore(deps): upgrade to node v1.22.40, geth v1.16.60
- Update all lux dependencies to latest versions
- consensus v1.22.37, crypto v1.17.26, genesis v1.5.9
2025-12-21 16:19:09 -08:00
Zach Kelling 8d816a38ad refactor: remove all SubnetEVM references
- Rename --subnet-evm-path flag to --evm-path
- Rename subnetEvmPath variable to evmPath
- Rename subnet-evm-genesis.json to evm-genesis.json
- Change VmName from "subnetevm" to "evm"
- Update all test configurations
2025-12-21 11:12:41 -08:00
Zach Kelling 4e9393e5fb chore(deps): upgrade node to v1.22.37 with track-all-chains
- Update node dependency to v1.22.37
- Enable track-all-chains flag in default dev flags
2025-12-21 11:06:09 -08:00
Zach Kelling 801c2eb0e3 fix(ci): update release workflow for Go 1.25.5
- Upgrade to ubuntu-22.04 runner
- Update Go version to 1.25.5
- Update action versions to v4/v5/v6
- Use --clean instead of deprecated --rm-dist
2025-12-21 02:25:46 -08:00
Zach Kelling cca7926733 chore(deps): upgrade geth v1.16.57, node v1.22.32 2025-12-21 02:08:33 -08:00
Zach Kelling a42e966fa2 fix: correct version display with ldflags
- Update cmd/root.go to use exported Version, Commit, BuildDate vars
- Fix Makefile ldflags to inject into cmd package instead of main
2025-12-21 01:46:53 -08:00
Zach Kelling bbcf714b88 feat: enhance L2 chain support and server improvements
- Add enhanced key management in local/keys.go
- Improve genesis config handling
- Update L2 chains example
- Enhance server capabilities
- Clean up control commands
2025-12-21 01:45:23 -08:00
Zach Kelling 7e17e4a535 fix: exclude broken geth v1.16.1, bump crypto/node/consensus
- Exclude geth v1.16.1 with wrong module path
- crypto v1.17.24 → v1.17.25
- node v1.22.20 → v1.22.21
- consensus v1.22.27 → v1.22.31
2025-12-20 14:01:03 -08:00
Zach Kelling 952122b3d4 fix: first validator immediate allocation + Chain naming
- First validator gets immediate allocation (no vesting) for wallet ops
- Other validators get 1B LUX with 100-year vesting
- Rename Net -> Chain for consistency with Lux node API
- Update to genesis v1.5.7
2025-12-20 08:17:45 -08:00
Zach Kelling e529ccf262 fix: use format string for ux.Print to fix go vet error 2025-12-19 10:29:38 -08:00
Zach Kelling b228c12d75 chore(deps): upgrade node to v1.22.20 with git-tag version 2025-12-19 07:27:08 -08:00
Zach Kelling 2f9accfb10 Refactor subnet→chain terminology and update genesis to v1.5.6
Major changes:
- Rename SubnetSpec → ChainSpec/ParticipantSpec throughout codebase
- Rename BlockchainSpec → ChainSpec for full chain definitions
- Update all protobuf definitions with new naming
- Fix duplicate variable declarations from sed replacements
- Update copyright headers to BSD-3-Clause with SPDX identifiers
- Update github.com/luxfi/genesis to v1.5.6 (BLS signer keys)

The genesis v1.5.6 update adds:
- Initial stakers with BLS publicKey and proofOfPossession
- Initial allocations for local network testing
- Fixes "failed to load database state: not found" error

Build fixes:
- Fix api/mocks/client.go CChainAPI return type
- Fix local/node_test.go with build tag for integration tests
- Fix parameter name collisions (chainConfigs → pChainConfigs)
2025-12-19 07:11:06 -08:00
Zach Kelling 55113bf301 fix: skip PrimaryNetworkID when querying subnet info
The updateSubnetInfo function was failing because GetNets returns the
Primary Network (which has ID ids.Empty). GetCurrentSupply succeeds for
the Primary Network (since it has supply) but it's not an elastic
subnet, so GetElasticSubnetID fails with "subnetID not found on map".

This fix filters out both PlatformChainID and PrimaryNetworkID when
collecting subnet IDs to query.

Also updates genesis dependency to v1.5.5.
2025-12-16 16:55:27 -08:00
Zach Kelling 45d55963cc Remove binary 2025-12-13 03:02:05 -08:00
Zach Kelling 68bec8d148 Add DEX example 2025-12-13 00:06:44 -08:00
Zach Kelling f0c2dc979e fix: use first validator address for initialStakedFunds
The initialStakedFunds field must reference an address that exists
in the allocations with proper unlock schedule. Previously it used
the treasury address which wasn't in allocations.

Now uses the first validator key address which is guaranteed to
exist in the allocations generated from ~/.lux/keys/ files.

This fixes "initial staked funds validation failed" error when
starting mainnet/testnet networks.
2025-12-11 11:17:51 -08:00
Zach Kelling 9daf099eb3 fix: add ca-certificates to builder stage for go mod download 2025-12-10 19:45:46 -08:00
Zach Kelling 15ee9d8232 fix: use Go 1.25.5 with custom Docker build stage
Download Go 1.25.5 directly in Dockerfile since official images don't exist yet.
2025-12-10 19:37:53 -08:00
Zach Kelling 9aeb05ba49 fix: downgrade Go version to 1.23.4 for Docker compatibility 2025-12-10 19:25:38 -08:00
Zach Kelling fd4b1086e0 fix(docker): use debian-slim for cross-platform compatibility
- Replace alpine with debian-slim for runtime stage
- Replace alpine builder with golang:bookworm
- Fixes QEMU emulation failures with ARM64 builds
- Use static binary for better portability
2025-12-10 19:19:41 -08:00
Zach Kelling 9acbaa5cf1 fix(ci): use static sha- prefix for docker tags 2025-12-10 19:00:58 -08:00