Commit Graph

110 Commits

Author SHA1 Message Date
Cassandra Heart
12996487c3
v2.1.0.18 (#508)
* experiment: reject bad peer info messages

* v2.1.0.18 preview

* add tagged sync

* Add missing hypergraph changes

* small tweaks to sync

* allow local sync, use it for provers with workers

* missing file

* resolve build error

* resolve sync issue, remove raw sync

* resolve deletion promotion bug

* resolve sync abstraction leak from tree deletion changes

* rearrange prover sync

* remove pruning from sync

* restore removed sync flag

* fix: sync, event stream deadlock, heuristic scoring of better shards

* resolve hanging shutdown + pubsub proxy issue

* further bugfixes: sync (restore old leaf sync), pubsub shutdown, merge events

* fix: clean up rust ffi, background coverage events, and sync tweaks

* fix: linking issue for channel, connectivity test aggression, sync regression, join tests

* fix: disjoint sync, improper application of filter

* resolve sync/reel/validation deadlock

* adjust sync to handle no leaf edge cases, multi-path segment traversal

* use simpler sync

* faster, simpler sync with some debug extras

* migration to recalculate

* don't use batch

* square up the roots

* fix nil pointer

* fix: seniority calculation, sync race condition, migration

* make sync dumber

* fix: tree deletion issue

* fix: missing seniority merge request canonical serialization

* address issues from previous commit test

* stale workers should be cleared

* remove missing gap check

* rearrange collect, reduce sync logging noise

* fix: the disjoint leaf/branch sync case

* nuclear option on sync failures

* v2.1.0.18, finalized
2026-02-08 23:51:51 -06:00
Cassandra Heart
ab99f105f7
v2.1.0.16 (#492) 2025-12-15 16:45:31 -06:00
Black Swan
e10950dfe4
force TCP for stream multiaddr (#487) 2025-12-15 16:19:46 -06:00
Cassandra Heart
3f516b04fd
v2.1.0.13 (#483)
* v2.1.0.13

* add release notes
2025-11-29 19:59:26 -06:00
Cassandra Heart
7b923b91c4
v2.1.0.12 (#482) 2025-11-26 03:22:48 -06:00
Black Swan
29a49fa282
Print patch number in node-info (#479)
* print patch number in node-info

* rename patchVersion to patchNumber for better differentiation between node version and patch number
2025-11-21 04:31:32 -06:00
Cassandra Heart
81f2767ab8
v2.1.0.11 (#476) 2025-11-19 17:13:34 -06:00
Cassandra Heart
215dd2ec99
v2.1.0.9 (#471)
* v2.1.0.9

* resolved: sync skipping, time reel disconnect for consensus nodes, proxy pubsub bugs, worker management bugs
2025-11-16 20:14:14 -06:00
Black Swan
3069420a76
-peer-info and several other minor enhancements (#470)
* align mockFrameProver with updated frameProver interface

* go mod tidy for types

* go mod tidy for node

* remove unnecessary nil check

* fix peer-info reachability printing format

* skip download of missing root folder go modules

* print peer node version for `-peer-info`

* go mod tidy for protobufs
2025-11-16 05:31:16 -06:00
Cassandra Heart
c797d482f9
v2.1.0.5 (#457)
* wip: conversion of hotstuff from flow into Q-oriented model

* bulk of tests

* remaining non-integration tests

* add integration test, adjust log interface, small tweaks

* further adjustments, restore full pacemaker shape

* add component lifecycle management+supervisor

* further refinements

* resolve timeout hanging

* mostly finalized state for consensus

* bulk of engine swap out

* lifecycle-ify most types

* wiring nearly complete, missing needed hooks for proposals

* plugged in, vetting message validation paths

* global consensus, plugged in and verified

* app shard now wired in too

* do not decode empty keys.yml (#456)

* remove obsolete engine.maxFrames config parameter (#454)

* default to Info log level unless debug is enabled (#453)

* respect config's  "logging" section params, remove obsolete single-file logging (#452)

* Trivial code cleanup aiming to reduce Go compiler warnings (#451)

* simplify range traversal

* simplify channel read for single select case

* delete rand.Seed() deprecated in Go 1.20 and no-op as of Go 1.24

* simplify range traversal

* simplify channel read for single select case

* remove redundant type from array

* simplify range traversal

* simplify channel read for single select case

* RC slate

* finalize 2.1.0.5

* Update comments in StrictMonotonicCounter

Fix comment formatting and clarify description.

---------

Co-authored-by: Black Swan <3999712+blacks1ne@users.noreply.github.com>
2025-11-11 05:00:17 -06:00
Cassandra Heart
eb0b54241d
v2.1.0.3 (#449) 2025-10-23 22:43:17 -05:00
Cassandra Heart
53f7c2b5c9
v2.1.0.2 (#442)
* v2.1.0.2

* restore tweaks to simlibp2p

* fix: nil ref on size calc

* fix: panic should induce shutdown from event_distributor

* fix: friendlier initialization that requires less manual kickstarting for test/devnets

* fix: fewer available shards than provers should choose shard length

* fix: update stored worker registry, improve logging for debug mode

* fix: shut the fuck up, peer log

* qol: log value should be snake cased

* fix:non-archive snap sync issues

* fix: separate X448/Decaf448 signed keys, add onion key to registry

* fix: overflow arithmetic on frame number comparison

* fix: worker registration should be idempotent if inputs are same, otherwise permit updated records

* fix: remove global prover state from size calculation

* fix: divide by zero case

* fix: eager prover

* fix: broadcast listener default

* qol: diagnostic data for peer authenticator

* fix: master/worker connectivity issue in sparse networks

tight coupling of peer and workers can sometimes interfere if mesh is sparse, so give workers a pseudoidentity but publish messages with the proper peer key

* fix: reorder steps of join creation

* fix: join verify frame source + ensure domain is properly padded (unnecessary but good for consistency)

* fix: add delegate to protobuf <-> reified join conversion

* fix: preempt prover from planning with no workers

* fix: use the unallocated workers to generate a proof

* qol: underflow causes join fail in first ten frames on test/devnets

* qol: small logging tweaks for easier log correlation in debug mode

* qol: use fisher-yates shuffle to ensure prover allocations are evenly distributed when scores are equal

* qol: separate decisional logic on post-enrollment confirmation into consensus engine, proposer, and worker manager where relevant, refactor out scoring

* reuse shard descriptors for both join planning and confirm/reject decisions

* fix: add missing interface method and amend test blossomsub to use new peer id basis

* fix: only check allocations if they exist

* fix: pomw mint proof data needs to be hierarchically under global intrinsic domain

* staging temporary state under diagnostics

* fix: first phase of distributed lock refactoring

* fix: compute intrinsic locking

* fix: hypergraph intrinsic locking

* fix: token intrinsic locking

* fix: update execution engines to support new locking model

* fix: adjust tests with new execution shape

* fix: weave in lock/unlock semantics to liveness provider

* fix lock fallthrough, add missing allocation update

* qol: additional logging for diagnostics, also testnet/devnet handling for confirmations

* fix: establish grace period on halt scenario to permit recovery

* fix: support test/devnet defaults for coverage scenarios

* fix: nil ref on consensus halts for non-archive nodes

* fix: remove unnecessary prefix from prover ref

* add test coverage for fork choice behaviors and replay – once passing, blocker (2) is resolved

* fix: no fork replay on repeat for non-archive nodes, snap now behaves correctly

* rollup of pre-liveness check lock interactions

* ahead of tests, get the protobuf/metrics-related changes out so teams can prepare

* add test coverage for distributed lock behaviors – once passing, blocker (3) is resolved

* fix: blocker (3)

* Dev docs improvements (#445)

* Make install deps script more robust

* Improve testing instructions

* Worker node should stop upon OS SIGINT/SIGTERM signal (#447)

* move pebble close to Stop()

* move deferred Stop() to Start()

* add core id to worker stop log message

* create done os signal channel and stop worker upon message to it

---------

Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>

---------

Co-authored-by: Daz <daz_the_corgi@proton.me>
Co-authored-by: Black Swan <3999712+blacks1ne@users.noreply.github.com>
2025-10-23 01:03:06 -05:00
Cassandra Heart
cec73cd940
v2.1.0.1 (#441)
wire issue for proxy worker init - h/t dogeanger
moved injection from implicit to explicit for hypergraph operations
bundle address resolution for multi-tx token interactions
genesis shard init bug
message subscriber for app -> global flow bug
shard store save bug
2025-09-30 15:42:34 -05:00
Cassandra Heart
dbd95bd9e9
v2.1.0 (#439)
* v2.1.0 [omit consensus and adjacent] - this commit will be amended with the full release after the file copy is complete

* 2.1.0 main node rollup
2025-09-30 02:48:15 -05:00
Cassandra Heart
4696d5292c
restore verenc into hypergraph loop, thread hypergraph through token application for backcompat 2025-02-06 06:34:22 -06:00
Cassandra Heart
e32e71bb0c
Merge branch 'develop' into develop-2.1 2024-12-18 01:21:07 -06:00
petricadaipegsp
5ad9bdc468
Change default GOGC to 10 (#409)
* Set default GOGC to 10

* Do not skip frame prover trie mutex
2024-12-10 19:11:09 -06:00
petricadaipegsp
b728d8d76f
Centralize configuration defaults and upgrade message limits (#410)
* Apply config defaults early

* Apply engine config defaults early

* Apply P2P config defaults early

* Remove default duplicates

* Fix casing

* Add sync message size configuration
2024-12-10 19:10:49 -06:00
Cassandra Heart
b49ba62d9a
Merge branch 'develop' into develop-2.1 2024-12-09 05:44:53 -06:00
Cassandra Heart
4f742abd77
support state tree 2024-12-09 05:44:43 -06:00
petricadaipegsp
b9f1f0a6af
Frame pruning fixes (#405)
* Consistently close iterators

* Prune frames in batches

* Add compact on start flag
2024-12-07 21:19:04 -06:00
petricadaipegsp
89c85422be
Stop gRPC and HTTP servers on shutdown (#408)
* Stop gRPC and HTTP servers on shutdown

* Wait for executor to register
2024-12-07 21:12:26 -06:00
petricadaipegsp
8a7aae3557
Frame processing optimisations (#404)
* Make frame processing hashing parallel

* Do not build address for new style proofs

* Validate mint requests in parallel

* Do not recompute byte form of address in mint

* Remove unused output

* Use single append

* Cache verify challenge proof results
2024-12-04 22:57:59 -06:00
petricadaipegsp
1e441e280d
Memory management adjustments (#397)
* Do not vendor go-buffer-pool

* Do not change GOGC

* Use local buffer
2024-12-01 15:04:01 -06:00
petricadaipegsp
8ce9aeee4e
Disallow excessive GOMAXPROCS (#368) 2024-11-20 16:59:09 -06:00
petricadaipegsp
bc05a4d7b9
Adaptive reserved cores (#363)
* Add adaptive data worker count

* Use runtime worker count for validation workers

* Reserve cores for networking during transition application

* Automatically set GOGC and GOMEMLIMIT
2024-11-19 16:51:14 -06:00
Cassandra Heart
61179c13a0
node info should show worker counts 2024-11-18 02:03:37 -06:00
Cassandra Heart
29a129d543
allow choice of indexed or non-indexed batches 2024-11-17 07:58:15 -06:00
petricadaipegsp
80c7ec2889
Add initial Prometheus support (#353)
* Add Prometheus server

* Add Prometheus gRPC metrics

* Add BlossomSub metrics

---------

Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>
2024-11-16 17:53:19 -06:00
Cassandra Heart
b0a87b2fe4
wrapping up 2024-11-13 06:03:14 -06:00
Cassandra Heart
d4a5e30ba2
v2.0.3-p3 2024-11-12 01:45:18 -06:00
Cassandra Heart
9d7db3c85e
add repair 2024-11-12 01:14:52 -06:00
Cassandra Heart
df0262769b
switch default behavior and config value 2024-11-09 17:03:12 -06:00
Cassandra Heart
67d454acb9
add light prover support 2024-11-09 14:46:53 -06:00
Cassandra Heart
80be91d067
v2.0.3-b3 2024-11-06 21:43:55 -06:00
petricadaipegsp
07ff232c7d
Use node configuration for genesis retrieval (#332) 2024-11-05 17:04:05 -06:00
Cassandra Heart
3dd9a0c5f3
get develop caught up (#322)
* Update qcommander.sh bootrap (#304)

* v2.0.1 (#308)

* roll up v2.0.1-b2 to develop

* b2-fixed

* adjust return data of fast sync so it doesn't return the earliest frame

* -b3

* fix: announce peer based on leading frame, not initial frame; fix: looping bug

* fix: last batch fails due to underflow; qol: make logging chattier

* -b4

* resolve frame cache issue

* fix: mint loop + re-migrate

* fix: register execution panic

* fix: mint loop, other side

* fix: handle unexpected return of nil status

* final -b4

* handle subtle change to migration

* qol: add heuristic to handle corruption scenario

* bump genesis

* qol: use separate channel for worker

* final parameterization, parallelize streams

* deprecate signers 10, 11, 14, 17

* adjust signatory check size to match rotated out signers

* V2.0.2.3 (#321)

* roll up v2.0.1-b2 to develop

* b2-fixed

* adjust return data of fast sync so it doesn't return the earliest frame

* -b3

* fix: announce peer based on leading frame, not initial frame; fix: looping bug

* fix: last batch fails due to underflow; qol: make logging chattier

* -b4

* resolve frame cache issue

* fix: mint loop + re-migrate

* fix: register execution panic

* fix: mint loop, other side

* fix: handle unexpected return of nil status

* final -b4

* handle subtle change to migration

* qol: add heuristic to handle corruption scenario

* bump genesis

* qol: use separate channel for worker

* final parameterization, parallelize streams

* Add direct peers to blossomsub (#309)

Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh>

* chore(docker): add ca-certificates to fix x509 error. (#307)

* Update qcommander.sh bootrap (#304)

* chore(docker): add ca-certificates to fix x509 error.

---------

Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>

* deprecate signers 10, 11, 14, 17

* adjust signatory check size to match rotated out signers

* qol: sync by rebroadcast

* upgrade version

* more small adjustments

* wait a little longer

* fix: don't use iterator for frame directly until iterator is fixed

* change iterator, genesis for testnet

* adjust to previous sync handling

* adjust: don't grab the very latest while it's already being broadcasted

* ok, ready for testnet

* handle rebroadcast quirks

* more adjustments from testing

* faster

* temporarily bulk process on frame candidates

* resolve separate frames

* don't loop

* make worker reset resume to check where it should continue

* move window

* reduce signature count now that supermajority signed last

* resolve bottlenecks

* remove GOMAXPROCS limit for now

* revisions for v2.0.2.1

* bump version

* bulk import

* reintroduce sync

* small adustments to make life better

* check bitmask for peers and keep alive

* adjust reconnect

* ensure peer doesn't fall off address list

* adjust blossomsub to background discovery

* bump version

* remove dev check

* remove debug log line

* further adjustments

* a little more logic around connection management

* v2.0.2.3

* Fix peer discovery (#319)

* Fix peer discovery

* Make peer discovery connections parallel

* Monitor peers via pings (#317)

* Support QUILIBRIUM_SIGNATURE_CHECK in client (#314)

* Ensure direct peers are not pruned by resource limits (#315)

* Support pprof profiling via HTTP (#313)

* Fix CPU profiling

* Add pprof server support

* Additional peering connection improvements (#320)

* Lookup peers if not enough external peers are available

* Make bootstrap peer discovery sensitive to a lack of bootstrappers

---------

Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>
Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh>
Co-authored-by: linquanisaac <33619994+linquanisaac@users.noreply.github.com>
Co-authored-by: petricadaipegsp <155911522+petricadaipegsp@users.noreply.github.com>

---------

Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com>
Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh>
Co-authored-by: linquanisaac <33619994+linquanisaac@users.noreply.github.com>
Co-authored-by: petricadaipegsp <155911522+petricadaipegsp@users.noreply.github.com>
2024-10-31 16:46:58 -05:00
Cassandra Heart
d74f26c7f3
remove GOMAXPROCS limit for now 2024-10-26 01:07:23 -05:00
Cassandra Heart
f5c7ade33d
reduce signature count now that supermajority signed last 2024-10-25 15:00:00 -05:00
Cassandra Heart
7296cb0ea2
more adjustments from testing 2024-10-25 00:46:38 -05:00
Cassandra Heart
b7d2e17c63
final parameterization, parallelize streams 2024-10-23 14:26:01 -05:00
Cassandra Heart
7944cb6ca5
roll up v2.0.1-b2 to develop 2024-10-20 20:00:36 -05:00
Cassandra Heart
1bd670e773
v2.0.0-p8 2024-10-18 01:55:51 -05:00
Cassandra Heart
5230ceb413
v2.0.0-p5 (#303) 2024-10-16 23:51:27 -05:00
Cassandra Heart
270b29b321
reduce to 8 2024-10-15 15:20:51 -07:00
Cassandra Heart
e87ec00c89
v2.0.0-p3 (#299) 2024-10-14 14:41:40 -07:00
Cassandra Heart
389ada9f28
v2.0.0-p1 + QClient (#296) 2024-10-13 18:37:19 -07:00
Cassandra Heart
b4051ccbc9
detangling merge of main node for v2 (#293) 2024-10-12 11:55:17 -07:00
Cassandra Heart
f640c09008
v1.4.21-p1 (#279) 2024-07-29 12:46:36 -05:00
Cassandra Heart
d526ec63d0
v1.4.21 (#255)
* v1.4.21

* bump name
2024-07-05 04:40:00 -05:00