Commit Graph

45 Commits

Author SHA1 Message Date
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
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
petricadaipegsp
9a09dc904b
Use default peer outbound queue size (#402) 2024-12-07 21:19:15 -06:00
petricadaipegsp
667b2aa2bc
Increase gossip history and length (#401)
* Increase gossip history and length

* Increase peer outbound queue size
2024-12-03 05:00:48 -06:00
petricadaipegsp
63394edc9d
Increase subscription buffer size (#400) 2024-12-03 04:26:19 -06:00
petricadaipegsp
cef7fb65cc
Avoid pooling large buffers (#399)
* Revert buffer reuse

* Use pool only for small messages
2024-12-02 17:07:58 -06:00
petricadaipegsp
f5f7eb243b
Change message size limits (#394)
* Increase message size limits

* Lower soft max message size to 1MiB
2024-12-02 15:00:43 -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
e836b00852
Vendor go-buffer-pool (#389)
* Vendor go-buffer-pool

* Do not use pointer pool
2024-11-26 05:22:46 -06:00
petricadaipegsp
ab9b90fed2
blossomsub: Separate soft and hard message limits (#387) 2024-11-24 18:40:38 -06:00
petricadaipegsp
ba70498121
Revert blossomsub flooding (#382)
* blossomsub: Revert flooding

* blossomsub: Pick random slice
2024-11-24 17:05:40 -06:00
petricadaipegsp
f07d855970
blossomsub: Reintroduce GossipFactor (#383) 2024-11-24 17:04:33 -06:00
petricadaipegsp
2c79fedfd0
blossomsub: Avoid looping back unwanted messages (#384) 2024-11-24 17:03:57 -06:00
petricadaipegsp
86997630f0
blossomsub: Increase default maximum message size to 20MiB (#385) 2024-11-24 17:02:24 -06:00
petricadaipegsp
8790e09e36
blossomsub: Fix filter versus bloom filter tests (#380) 2024-11-24 03:24:03 -06:00
Cassandra Heart
c7b4f546a2
remaining blossomsub fixes 2024-11-23 19:23:44 -06:00
petricadaipegsp
a543a607be
IDONTWANT Support (#376)
* blossomsub: Remove unused mutex

* blossomsub: Add RPC queue

* blossomsub: Use RPC queue

* blossomsub: Add IDONTWANT control message to protos

* blossomsub: Add IDONTWANT tracing support

* blossomsub: Add pre-validation

* blossomsub: Add IDONTWANT feature flag

* blossomsub: Add IDONTWANT parameters

* blossomsub: Add IDONTWANT observability

* blossomsub: Send IDONTWANT control messages

* blossomsub: Handle IDONTWANT control messages

* blossomsub: Clear maps efficiently

* blossomsub: Increase IDONTWANT parameter defaults

* blossomsub: Do not send IDONTWANT to original sender

* blossomsub: Add IDONTWANT unit tests
2024-11-23 17:15:41 -06:00
Cassandra Heart
3b754ea4fb
extend test to verify mainnet bug is fixed 2024-11-22 19:36:48 -06:00
petricadaipegsp
eaf565c15a
Fix gossip (#378)
* Observe control messages message count

* Fix copyRPC

* Fix message cache
2024-11-22 10:30:33 -06:00
petricadaipegsp
af0eded231
Release buffers in edge cases (#374) 2024-11-21 18:01:16 -06:00
petricadaipegsp
b94e123262
Prune only if meshed (#362) 2024-11-19 16:51:42 -06:00
Cassandra Heart
4658cc208e
tweak blossomsub params slightly 2024-11-17 15:48:18 -06:00
petricadaipegsp
ceba9ff200
Trigger prune for removed peers (#361) 2024-11-17 06:32:54 -06:00
petricadaipegsp
49566c2280
Add additional P2P configuration (#352)
* Add peer discovery configuration

* Add peer monitor configuration

* Add message validation configuration

---------

Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>
2024-11-16 17:54:34 -06:00
Cassandra Heart
7ac7fc2b67
v2.0.3-b4 2024-11-07 18:03:50 -06:00
Cassandra Heart
4b61a00095
restore prover rings 2024-10-31 23:44:23 -05:00
Cassandra Heart
b4051ccbc9
detangling merge of main node for v2 (#293) 2024-10-12 11:55:17 -07:00
Cassandra Heart
1a244f5154
v1.4.20-p1 (#251)
* v1.4.20-p1

* further refinements/tuning
2024-06-29 19:12:53 -05:00
Cassandra Heart
6c567a04c1
v1.4.20 (#244)
* v1.4.20 base

* add inmemory dev mock for hypergraph

* add simple rdf + tr

* Update config.go (#234)

2 of bootstrap nodes are going to be closed due to low performances. Will consider to replace with better specs.

* go mod tidy

* go mod tidy

* bump name in readme

---------

Co-authored-by: 0xOzgur <29779769+0xOzgur@users.noreply.github.com>
2024-06-21 12:46:36 -05:00
Cassie Heart
ebb31fd792 v1.4.19 2024-06-08 11:32:45 +00:00
Cassandra Heart
6b5ce992cf
v1.4.16 (#160) 2024-04-08 23:35:51 -05:00
Cassandra Heart
5a3af70dc8
v1.4.13 (#146)
* v1.4.13

* adjust blossomsub param
2024-03-27 03:50:52 -05:00
Cassandra Heart
1c93ea9f73
v1.4.11 (#139) 2024-03-21 02:14:45 -05:00
Cassandra Heart
0803d95573
v1.4.10 (#135)
* experimental priority sync

* get more aggressive about uncooperative ranking

* v1.4.10
2024-03-19 00:57:52 -05:00
Cassandra Heart
cc1e304119
v1.4.7 (#125)
* move to a message processor channel model for ceremony

* switch to goroutine

* readjust

* cut down volume

* keep distance data asserted

* bring it back so more bootstrap nodes can exist

* bump the version, it's go time
2024-03-14 02:18:14 -05:00
Cassandra Heart
f0c71b2d40
some various fixes ahead of 1.4.7 (#119)
* experimental: switch mutex to RW to see if it alleviates backpressure on peer info

* relax mutex req

* reject unknown messages

* open the floodgates

* adjust message handler to use goroutine, i'll probably regret this

* switch that back, it was regret

* further discovery

* log more data

* forcibly block channel when unbounded

* else

* make it configurable so bootstrap peers are the only ones putting up with this.

* ok, non-starter, let's try a different route

* further tweaking

* let the peer info flow uninhibited

* final burn off on master

* final adjustments
2024-03-12 20:28:48 -05:00
Cassandra Heart
1fc27018b5
v1.4.5 (#113) 2024-03-09 23:45:12 -06:00
Cassandra Heart
24a17ceddb
v1.4.4 (#112) 2024-03-09 20:26:17 -06:00
Cassandra Heart
2c551870f9
v1.4.2 (#98) 2024-03-04 23:11:01 -06:00
Cassandra Heart
3b72d52708
1.1.2 – Experimental gRPC/REST Support 2023-10-08 23:52:19 -05:00
Cassandra Heart
926e6bba22
Better synchronization targeting 2023-09-29 02:55:09 -05:00
Cassandra Heart
529f434393
Launch readiness: import utility 2023-08-20 23:07:43 -05:00
Cassandra Heart
ffab09ae6b
Add ceremony-targeted go-libp2p-blossomsub 2023-07-07 01:07:10 -05:00