144 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 26e21d0a8e chore: migrate luxd HTTP routes /ext -> /v1
Drop the Avalanche-heritage /ext prefix; /v1 is the single canonical route
surface (one way, no backward compat). The node's baseURL is the source of
truth; clients, SDKs, CLI, indexer, maker, genesis, netrunner, and the
k8s/compose/gateway/explorer configs are updated to match.

Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-07-01 11:40:27 -07:00
Hanzo AI e19bbef8f9 rename: Etna → Quasar Edition in netrunner genesis + example
- genesis.json: cChainGenesis embedded JSON
    "etnaTimestamp": 253399622400 → "quasarTimestamp": 253399622400
  - examples/local/testnet/main.go: setEtnaTimestamp builder helper
    "etnaTimestamp" config key → "quasarTimestamp"

Matches luxfi/upgrade + luxfi/genesis SoT renames.
Leaves .github/workflows/docker.yml runner-label WIP untouched.
2026-06-02 23:30:37 -07:00
Hanzo AI 3c208deb18 scrub Avalanche/Snowman naming residue: docstring + label rename (no wire changes) 2026-06-02 22:42:47 -07:00
Hanzo AI 43ead226a9 scrub: subnet/l2 → chain (canonical vocabulary, forward-only)
Wire-format codec IDs unchanged. CLI aliases deleted; chain is the
command. No backwards-compat shims, no deprecation comments.
2026-05-31 15:09:15 -07:00
Hanzo AI 1888428bd4 drop hardcoded /Users/z paths — use $HOME-relative 2026-05-21 15:01:35 -07:00
Hanzo AI b673b28c31 rename: github.com/luxfi/protocol → github.com/luxfi/proto (imports + go.mod replace) 2026-05-18 21:19:09 -07:00
Hanzo DevandGitHub 811118da30 env: drop LUX_ prefix from env vars (noise) (#41)
Renames LUX_-prefixed env vars to canonical, non-noisy forms across
genesis_config, blockchain, network, examples, tests, genkeys, server:

- LUX_MNEMONIC      -> MNEMONIC
- LUX_PRIVATE_KEY   -> PRIVATE_KEY
- LUX_KEYS_DIR      -> KEYS_DIR
- LUX_BINARY_PATH   -> BINARY_PATH
- LUX_NETWORK_TYPE  -> NETWORK_TYPE  (doc only)
- LUX_GPU_EVM       -> GPU_EVM       (doc only)
- LUX_GPU_WORKER_PID-> GPU_WORKER_PID

Also fixes an obvious infinite-recursion bug in
local/genesis_config.go::getMnemonic() that the previous LUX_MNEMONIC
fallback line had become — the helper now reads MNEMONIC then
LIGHT_MNEMONIC and returns. Without this fix, callers reaching the
fallback would have hung the process.

BREAKING: external callers (CI, dev scripts, operators) must update
env var names. Per CLAUDE.md no-backwards-compatibility rule, the old
forms are removed.
2026-05-15 16:26:33 -07:00
Hanzo AI a016d13e9d canonical: drop SubnetEVMTimestamp alias — single evmTimestamp field 2026-05-05 21:30:42 -07:00
Zach Kelling 0ea3b63752 fix: resolve all golangci-lint issues
- Fix gofmt formatting in 8 files
- Remove duplicate luxfi/config imports in local/ package
- Add error checking for os.Remove calls in local/snapshot.go
2026-01-28 10:30:11 -08:00
Zach Kelling 160e25c144 fix build 2026-01-14 19:56:11 -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 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 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 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 35f02edd25 Update logging, examples 2025-12-22 05:07:52 -08:00
Zach Kelling 2e84d0db8d chore: remove local replace directives, update deps 2025-12-21 17:02:43 -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 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 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 68bec8d148 Add DEX example 2025-12-13 00:06:44 -08:00
Zach Kelling c98952ac0c Fix LUXAssetID -> XAssetID and update node to v1.18.11 2025-09-27 03:33:46 +00:00
Zach Kelling be85c151b0 fix: update imports and API calls for compatibility
- Migrated from Subnet to Net terminology
- Fixed logging imports to use luxfi/log
- Updated metric and set package imports
- Added replace directives for local packages
- All binaries building successfully
2025-09-19 05:37:42 +00:00
Zach Kelling a7fe664664 Update dependencies to use latest tagged versions 2025-08-16 07:43:26 +00:00
Zach Kelling 75c3fab38f feat: add OP Stack and Ethereum 2.0 support to netrunner
- Add OPStackEngine for running OP Stack L2 rollups
- Add Eth2Engine for Ethereum 2.0 consensus+execution layers
- Support multiple consensus clients (Prysm, Lighthouse, Teku, Nimbus, Lodestar)
- Support multiple execution clients (Geth, Erigon, Nethermind, Besu)
- Remove ALL ava-labs dependencies from netrunner
- Replace ava-labs client libraries with direct HTTP RPC calls
- Add example manifests for OP Stack and multi-consensus architectures
- Update manifest validation to support new engine types
2025-08-08 20:55:22 +00:00
Zach Kelling c114aaad5b chore: update dependencies to use tagged versions, remove local replace directives 2025-07-20 06:46:41 +00:00
Hanzo Dev 8e19dd357c Update imports 2025-07-17 16:56:43 -05:00
Hanzo Dev 1dacb0d461 Updte for latest geth 2025-07-17 16:29:44 -05:00
Zach Kelling ef1adb0022 Rollback to 1.6.0 2024-01-02 20:55:14 +01:00
felipemaderoandGitHub 7087792630 Merge branch 'main' into dependabot/go_modules/github.com/ava-labs/avalanchego-1.8.6 2022-09-30 21:06:54 -03:00
Felipe Madero 97407e4590 fix unit tests 2022-09-26 13:38:51 -03:00
Felipe Madero d46a2a39c3 add dynamic port for conf ports to local 2022-09-23 18:34:09 -03:00
Darioush JalaliandGitHub fa5e683934 changes for testing statesync on subnet-evm (#235)
* add chainID to NewEthClient

* add reset node w/ chain configs

* missing client code

* bump versions for compatibility
2022-08-16 07:13:57 -07:00
bc62a89c34 [AV-1829]: Add node process failure management (#150)
* start adding some checks for node stop

* avoid closing the notification chan

* get to work health up to a good point

* notification of node failure events to user he decides

* use new channel in example

* fix unit tests

* add stopped node check on server healthy check

* keep dead status of process and let used find out on that

* add management of node failure on server

* fix unit tests

* fix e2e test

* Update local/node.go

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>

* fix after applying suggested changes

* add more sync to local node process

* check this causes unit test error at CI

* add state to process manage struct

* add process exit code to notification msg

* fix stuff related to changing notification msg

* fix unit test

* add ctx to node Wait, network RemoveNode

* fix unit test

* kill all descendant of wait context failure

* address PR comment

* move context wait to Stop

* fix unit test issue

* use Await4 to avoid race conditions

* improve comments

* nit

* rm comments regarding Ctrl+C special case and improve code for that

* address PR comment

* move node process to its own file

* add missing file

* reduce number of channels

* address PR comments

* address PR comments

* change Alive method for Status method

* address PR comments

* avoid using of syscal

* address PR comments

* avoid syscall SIGNAL stuff

* address PR comments

* fix examples delay

* fix log format; go mod tidy

* Dan's pass; remove unexpectedStopChan (#158)

* move status to its own package; nits

* combine newNodeProcess and Start

* update nodeProcess

* remove unexpected stop chan

* nit

* fix test

* fix local network stop context cancellation

* fix node stop deadlock

* make Stop return exit code rather than error

* remove return value from killDescendants

* nits; bump timeout

* lint

* add wait time to Status to be notified on common avalanchego startup
failures

* fix lock in Status()

* fix lock code

* increase first status call wait time

* remove first call to status check

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-07-12 17:42:42 -04:00
Felipe Madero 05e1a833e8 nit 2022-05-27 16:25:29 -03:00
Felipe Madero d472900490 update logging stuff 2022-05-27 15:28:55 -03:00
fm 1f035d82dc added New functions for creating networks from config, default
config, snapshot
2022-05-25 15:30:24 -03:00
fm 939629ecbe address PR comments 2022-05-24 17:49:16 -03:00
fm 6e50158299 use names StartFromConfig, StartFromSnapshot 2022-05-24 15:50:27 -03:00
fm 89003c747a Merge branch 'main' into snapshots 2022-05-21 16:55:48 -03:00
Felipe Madero 5f4b130393 unification of node naming convention. search for next node name. 2022-05-20 21:53:51 -03:00
Dan LaineandGitHub b018889ce4 Make healthy block (#154)
* change netowork.Healthy to block and return an error rather than return immediately and return a chan error. Fix network.Healthy so it immediately returns if network.Stop is called

* add test

* modify test

* nit

* nit

* fix tests

* onStopCtx --> onStopCh

* remove stopped field

* add comment

* remove unnecessary contexts

* fix comments
2022-05-20 14:29:22 -04:00
Felipe Madero 6a93a04d65 update examples 2022-05-18 11:45:13 -03:00
Felipe Madero 53b8e21aa7 add LoadConfig function to network 2022-05-18 10:14:06 -03:00
6e90fb27d1 Remove k8s backend (#131)
* rm k8s implementation and backend type

* finish removing k8s and multiple backend stuff

* nits

* update README

* rm implSpecificConfig from json string

* remove k8s from go.mod/sum

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-04-26 09:26:52 -04:00
683de373e7 Fix issue about when goPath is blank (#104)
https://github.com/ava-labs/avalanche-network-runner/issues/100
https://github.com/ava-labs/avalanche-network-runner/issues/101

I debugged variable `goPath` and it was blank.

Then I found another way of getting the `GOPATH`. The solution is from https://stackoverflow.com/a/32650077/9192954.

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-03-17 13:27:20 -04:00
46c8c0f1e5 Update avalanchego 1.7.7 (#110)
* update dep to 1.7.7

* fix logging.DefaultConfig issues

* update info client mock

* go mod tidy

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-03-17 12:17:34 -04:00
54ed5649be Update to avalanchego 1.7.4 (#89)
* make local test to pass

* make k8s tests to pass

* go mod tidy

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-02-03 13:26:49 -05:00
holisticodeandGitHub df8bf86681 exit(1) on run() error (#86) 2022-01-24 10:40:42 -05:00
85f8cae366 CHS 271 Flags (#72)
* completed 1st iteration of task

* address all cases; stop networks after each test

* added example

* fix PR comments round 1

* fix PR comments round 2

* refactor flag passing (#75)

* refactor flag passing

* address PR comments

* warn on certain flags

Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
2022-01-11 10:36:45 -05:00