Commit Graph
19 Commits
Author SHA1 Message Date
zeekay 2cdac3a600 Update all docs 2025-11-06 19:29:57 -08:00
zeekay 371c50d38e Clean up generated files 2025-11-06 04:06:32 -08:00
zeekay c18437f410 Update consensus 2025-11-06 02:36:49 -08:00
zeekay 952479193f consensus: Fix ContextInitializable to use *Context instead of context.Context
- Change ContextInitializable.InitCtx to accept *consensusctx.Context
- Change Contextualizable.InitializeContext to accept *consensusctx.Context
- Update XAssetID, QuantumNetworkID, GetQuantumIDs to use *consensusctx.Context
- Matches upstream avalanchego pattern where Context is consensus-specific type
2025-10-29 14:08:50 -07:00
zeekay fee6b3564f Update and re-organize 2025-09-24 04:01:37 -05:00
zeekay 20494d7627 Fix build and test failures for CGO/non-CGO compatibility
- Add proper build tags for CGO vs non-CGO builds
- Create pure Go consensus implementation when CGO disabled
- Fix platform-specific ZMQ library paths for ARM64 Macs
- Add missing types and interfaces to blocktest and chaintest
- Create validatorsmock.State for testing
- Fix status type conflicts between choices.Status and uint8
- Ensure all tests pass with both CGO_ENABLED=0 and CGO_ENABLED=1
2025-09-14 19:05:23 -05:00
zeekay 2e984670e6 feat: Implement Nova/Nebula/Quasar consensus with Ray/Field engines
- Add high-level cosmic terminology: Nova (linear), Nebula (DAG), Quasar (P-Chain)
- Implement internal optics engines: Ray (linear consensus), Field (DAG consensus)
- Add Horizon ordering for Quasar event horizon finality
- Integrate Corona + BLS fusion for post-quantum P-Chain security
- Update Prism Cut interface with proper lux (lx) luminance measurements
- Create comprehensive LaTeX white paper with BibTeX citations
- Add missing mock packages for node compatibility
- Maintain physics metaphors: photons, waves, cut, luminance, event horizons
- Support modular consensus transitions: Nova→Nebula, classical→quantum
2025-08-23 00:08:03 -05:00
zeekay 1861988aef fix: resolve CI issues and improve CLI tools
- Remove local replace directive for luxfi/ids to fix CI
- Add luxfi/database dependency for proper builds
- Rename zmq-bench to bench for better naming
- Create proper cmd directory structure with individual tools:
  - params: View network consensus parameters
  - checker: Health check consensus engines
  - sim: Simulate consensus rounds
  - bench: Benchmark consensus performance
  - consensus: Main CLI for engine management
- Improve CLI interfaces with better help, options, and documentation
- Fix go.mod dependencies for CI compatibility
2025-08-21 19:32:42 -05:00
zeekay af0bbdc3d6 feat: complete integration of all three consensus engines
- Implement chain, DAG, and post-quantum consensus engines with full test coverage
- Create IntegratedEngine in node package combining all three engines
- Add production-ready cmd tools (params, checker, sim, zmq-bench)
- Implement Acceptor interface for node consensus integration
- Add WithBlockTime method to config Parameters
- Ensure all tests pass across consensus and node packages
- Remove stub implementations and add proper production code
- Fix config validation with detailed error messages
- Clean up duplicate files and unused code
2025-08-21 19:25:56 -05:00
zeekay bdc06197f9 Final cleanup and reorganization of consensus structure
- Removed wavefpc references from Makefile (moved to protocol/wave)
- Fixed duplicate Engine interface by renaming to SimpleEngine in message.go
- Consolidated validator and validators directories into single validators package
- Removed empty util directory
- Fixed package declarations to match directory names
- Updated all imports from validator to validators

This completes the consensus repository reorganization with:
- All protocols in /protocol/
- All engines in /engine/
- No duplicate directories or packages
- Consistent package naming
2025-08-15 22:57:49 -05:00
zeekay fe5c421ae2 Fix import paths and reorganize consensus structure
- Fixed engine/core imports to use just core
- Renamed Message type to MessageType to avoid conflicts
- Created protocol/chain package with consensus interface
- Updated all chain imports to use protocol/chain
- Updated wave import to use protocol/wave
- Added bench target to Makefile 'all' rule
- Fixed package conflicts in core
2025-08-15 22:51:22 -05:00
zeekay 7a2efe258b Add comprehensive benchmark suite for wavefpc with ZMQ-style benchmarks
- Created extensive benchmark_test.go with 9 benchmark scenarios
- Added throughput benchmarks: 180K-236K votes/sec achieved
- Added latency, parallel voting, and conflict resolution benchmarks
- Added scalability tests for networks up to 500 validators
- Added memory usage and worst-case scenario benchmarks
- Updated Makefile to include wavefpc in 'make bench' and 'make benchmark'
- Added specific 'make benchmark-wavefpc' target

Benchmark highlights:
- Throughput: 180K-236K votes/sec
- Sub-microsecond operations for most functions
- Excellent parallel performance
- Minimal memory allocations (6 allocs/op)
2025-08-14 07:27:49 +00:00
zeekay 266d145d2e Update benchmarks 2025-08-01 17:44:13 -05:00
zeekay 694aa20529 Update benchmarks 2025-08-01 14:00:50 -05:00
zeekay 068184cb5f Update makefile 2025-08-01 13:22:41 -05:00
zeekay a0c09dd3e0 refactor: Complete terminology migration from Avalanche to quantum-themed naming
- Replace all snowball/snowflake references with photon/pulse/wave terminology
- Update test function names to use new nomenclature (TestPhotonBinary, TestWaveMultiChoice, etc.)
- Fix TestParameters Beta value from 1 to 2 to prevent immediate finalization
- Fix wave preference update logic to properly reset non-voted choices
- Make photon Add() method idempotent to allow re-adding same choice
- Rename test files: binary_snowball_test.go → photon_binary_test.go, etc.
- Update struct field names: snowflakePreference → wavePreference/pulsePreference
- Change Nnary to MultiChoice throughout the codebase
- Update comments to remove avalanche-specific terminology

Most tests now pass with the new terminology. Some test failures remain in
the main consensus package that need further investigation, but core protocol
implementations (photon, pulse, wave, prism, quasar) are working correctly.
2025-07-31 12:43:45 -05:00
zeekay 71b5149829 Update consensus, tests 2025-07-29 17:42:09 -05:00
zeekay 62f55de308 Update consensus 2025-07-29 02:27:51 -05:00
zeekay 0a2f8b45c3 Initial commit 2025-07-28 01:24:16 -05:00