-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(code): Test implementations for mempool, tx batch streaming and value builder #191
Conversation
Adds basic sync at startup based on number of peers. Uses different peerID sets for consensus and mempool in an attempt to create separate networks (not there yet). UTs are not yet fixed.
Looks like the
|
Oh I guess it's because of the two new assertions (which I have turned into errors to make sure we never panic in the driver just in case). I'll update the test to account for that. |
I think we should also convert the two new assertions in the consensus actor into proper errors instead of panicking in case they are not met. What do you think @ancazamfir? |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #191 +/- ##
==========================================
- Coverage 86.21% 83.83% -2.38%
==========================================
Files 56 67 +11
Lines 3720 4779 +1059
==========================================
+ Hits 3207 4006 +799
- Misses 513 773 +260
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
* Use random identity for mempool gossip * Only accept messages from peers using the same protocol * Formatting * Enable logging in tests * Increase timeout * Another attempt to fix test * Comment out dead code * Revert timeout change * Run tests on macOS as well * Use Ubuntu 24 * Revert "Use Ubuntu 24" This reverts commit f5d7f88. * Use TCP transport instead of QUIC * Send a Ready message to all peers, and only start consensus when we got enough of those * Disable peer filtering based on protocol version * Remove Ready message * Fix bug in gossip mempool * Disable peer filtering based on protocol version again * Switch back to QUIC * Cleanup * No need for different identities if we do not blacklist peers * Remove commented out code * No need to act on expired mDNS entries * Send PeerDisconnected event to handle when a peer unsubscribes * No need to test on macOS anymore * Cleanup * Fix "API rate limit exceed" error when installing `protoc`
* Add gossip blockpart channel and BlockPart trait and test impl * Sign and gossip block parts, receive them, validate, send to proposal builder * Value builder now streams txes for a fraction of propose timeout * Add constants for hardcoded values * Fix proposal builder initialization and tweak some constants
Revert the consensus proposal value to be the block hash (or ValueId).
Multiplex proposal and last block part, pass valid from the latter. Check if all parts are present when a proposal is received, otherwise queue. Implement a temporary store for block parts.
…salBuilder` actor (#199) * Rename field for consistency * Resolve cyclic dependency between Consensus and ProposalBuilder actor
Some cleanup and TODO updates.
* Wire up `persistent_peers` from config to both gossip layers * simplified index command to only generate configs when init command is run * Cleanup dialing of persistent peers * Only add explicit peers when their protocol version matches * Cleanup * Fix args parsing test * Use random base ports per test * Formatting --------- Co-authored-by: Greg Szabo <greg@philosobear.com>
* removed index parameter, added testnet command, simplified init command * Update help message * Remove `--config`, `--genesis` and `--private-key` options * Unpretty private key bytes * Log output in `testnet` command * Use CometBFT-compatible format for `priv_validator_key.json` file * Add test for `testnet` command --------- Co-authored-by: Greg Szabo <greg@philosobear.com>
No description provided.